2021-04-30 10:28:37 +08:00
using System ;
using System.Collections ;
using System.Collections.Generic ;
using System.Globalization ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
using System.Web.UI.WebControls ;
namespace BLL
{
public class TechnicalContactListService
{
2026-04-23 11:36:49 +08:00
2021-04-30 10:28:37 +08:00
/// <summary>
/// 根据工程联络单信息Id删除一个工程联络单信息信息
/// </summary>
/// <param name="TechnicalContactListCode">工程联络单信息Id</param>
public static void DeleteTechnicalContactList ( string TechnicalContactListId )
{
Model . SGGLDB db = Funs . DB ;
Model . Check_TechnicalContactList TechnicalContactList = db . Check_TechnicalContactList . First ( e = > e . TechnicalContactListId = = TechnicalContactListId ) ;
db . Check_TechnicalContactList . DeleteOnSubmit ( TechnicalContactList ) ;
db . SubmitChanges ( ) ;
}
/// <summary>
/// 增加工程联络单信息信息
/// </summary>
/// <param name="TechnicalContactList">工程联络单信息实体</param>
public static void AddTechnicalContactListForApi ( Model . Check_TechnicalContactList TechnicalContactList )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
Model . Check_TechnicalContactList newTechnicalContactList = new Model . Check_TechnicalContactList ( ) ;
newTechnicalContactList . TechnicalContactListId = TechnicalContactList . TechnicalContactListId ;
newTechnicalContactList . ProjectId = TechnicalContactList . ProjectId ;
newTechnicalContactList . Code = TechnicalContactList . Code ;
newTechnicalContactList . ProposedUnitId = TechnicalContactList . ProposedUnitId ;
newTechnicalContactList . MainSendUnitId = TechnicalContactList . MainSendUnitId ;
newTechnicalContactList . CCUnitIds = TechnicalContactList . CCUnitIds ;
newTechnicalContactList . UnitWorkId = TechnicalContactList . UnitWorkId ;
newTechnicalContactList . CNProfessionalCode = TechnicalContactList . CNProfessionalCode ;
newTechnicalContactList . ContactListType = TechnicalContactList . ContactListType ;
newTechnicalContactList . IsReply = TechnicalContactList . IsReply ;
newTechnicalContactList . Cause = TechnicalContactList . Cause ;
newTechnicalContactList . Contents = TechnicalContactList . Contents ;
newTechnicalContactList . AttachUrl = TechnicalContactList . AttachUrl ;
newTechnicalContactList . CompileMan = TechnicalContactList . CompileMan ;
newTechnicalContactList . CompileDate = TechnicalContactList . CompileDate ;
newTechnicalContactList . State = TechnicalContactList . State ;
newTechnicalContactList . ReOpinion = TechnicalContactList . ReOpinion ;
newTechnicalContactList . SaveHandleMan = TechnicalContactList . SaveHandleMan ;
db . Check_TechnicalContactList . InsertOnSubmit ( newTechnicalContactList ) ;
db . SubmitChanges ( ) ;
}
}
public static void AddTechnicalContactList ( Model . Check_TechnicalContactList TechnicalContactList )
{
Model . SGGLDB db = Funs . DB ;
Model . Check_TechnicalContactList newTechnicalContactList = new Model . Check_TechnicalContactList ( ) ;
newTechnicalContactList . TechnicalContactListId = TechnicalContactList . TechnicalContactListId ;
newTechnicalContactList . ProjectId = TechnicalContactList . ProjectId ;
newTechnicalContactList . Code = TechnicalContactList . Code ;
newTechnicalContactList . ProposedUnitId = TechnicalContactList . ProposedUnitId ;
newTechnicalContactList . MainSendUnitId = TechnicalContactList . MainSendUnitId ;
newTechnicalContactList . CCUnitIds = TechnicalContactList . CCUnitIds ;
newTechnicalContactList . UnitWorkId = TechnicalContactList . UnitWorkId ;
newTechnicalContactList . CNProfessionalCode = TechnicalContactList . CNProfessionalCode ;
newTechnicalContactList . ContactListType = TechnicalContactList . ContactListType ;
newTechnicalContactList . IsReply = TechnicalContactList . IsReply ;
newTechnicalContactList . Cause = TechnicalContactList . Cause ;
newTechnicalContactList . Contents = TechnicalContactList . Contents ;
newTechnicalContactList . AttachUrl = TechnicalContactList . AttachUrl ;
newTechnicalContactList . CompileMan = TechnicalContactList . CompileMan ;
newTechnicalContactList . CompileDate = TechnicalContactList . CompileDate ;
newTechnicalContactList . State = TechnicalContactList . State ;
newTechnicalContactList . ReOpinion = TechnicalContactList . ReOpinion ;
newTechnicalContactList . SaveHandleMan = TechnicalContactList . SaveHandleMan ;
db . Check_TechnicalContactList . InsertOnSubmit ( newTechnicalContactList ) ;
db . SubmitChanges ( ) ;
}
/// <summary>
/// 增加工程联络单审批信息
/// </summary>
/// <param name="managerRuleApprove">工程联络单审批实体</param>
public static void AddTechnicalContactListApprove ( Model . Check_TechnicalContactListApprove approve )
{
Model . SGGLDB db = Funs . DB ;
string newKeyID = SQLHelper . GetNewID ( typeof ( Model . Check_TechnicalContactListApprove ) ) ;
Model . Check_TechnicalContactListApprove newApprove = new Model . Check_TechnicalContactListApprove ( ) ;
newApprove . TechnicalContactListApproveId = newKeyID ;
newApprove . TechnicalContactListId = approve . TechnicalContactListId ;
newApprove . ApproveMan = approve . ApproveMan ;
newApprove . ApproveDate = approve . ApproveDate ;
newApprove . ApproveIdea = approve . ApproveIdea ;
newApprove . IsAgree = approve . IsAgree ;
newApprove . ApproveType = approve . ApproveType ;
db . Check_TechnicalContactListApprove . InsertOnSubmit ( newApprove ) ;
db . SubmitChanges ( ) ;
}
/// <summary>
/// 修改工程联络单信息信息
/// </summary>
/// <param name="TechnicalContactList">工程联络单信息实体</param>
public static void UpdateTechnicalContactList ( Model . Check_TechnicalContactList TechnicalContactList )
{
Model . SGGLDB db = Funs . DB ;
Model . Check_TechnicalContactList newTechnicalContactList = db . Check_TechnicalContactList . First ( e = > e . TechnicalContactListId = = TechnicalContactList . TechnicalContactListId ) ;
newTechnicalContactList . Code = TechnicalContactList . Code ;
newTechnicalContactList . ProposedUnitId = TechnicalContactList . ProposedUnitId ;
newTechnicalContactList . MainSendUnitId = TechnicalContactList . MainSendUnitId ;
newTechnicalContactList . CCUnitIds = TechnicalContactList . CCUnitIds ;
newTechnicalContactList . UnitWorkId = TechnicalContactList . UnitWorkId ;
newTechnicalContactList . CNProfessionalCode = TechnicalContactList . CNProfessionalCode ;
newTechnicalContactList . ContactListType = TechnicalContactList . ContactListType ;
newTechnicalContactList . IsReply = TechnicalContactList . IsReply ;
newTechnicalContactList . Cause = TechnicalContactList . Cause ;
newTechnicalContactList . Contents = TechnicalContactList . Contents ;
newTechnicalContactList . AttachUrl = TechnicalContactList . AttachUrl ;
newTechnicalContactList . ReAttachUrl = TechnicalContactList . ReAttachUrl ;
newTechnicalContactList . State = TechnicalContactList . State ;
newTechnicalContactList . ReOpinion = TechnicalContactList . ReOpinion ;
newTechnicalContactList . SaveHandleMan = TechnicalContactList . SaveHandleMan ;
db . SubmitChanges ( ) ;
}
/// <summary>
/// 记录数
/// </summary>
private static int count
{
get ;
set ;
}
public static void InitHandleType ( FineUIPro . DropDownList dropName , bool isShowPlease , string state , string unitType , string contactListType , string isReply )
{
dropName . DataValueField = "Value" ;
dropName . DataTextField = "Text" ;
dropName . DataSource = GetDHandleTypeByState ( state , unitType , contactListType , isReply ) ;
dropName . DataBind ( ) ;
if ( isShowPlease )
{
Funs . FineUIPleaseSelect ( dropName ) ;
}
}
/// <summary>
/// 根据状态选择下一步办理类型
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
public static ListItem [ ] GetDHandleTypeByState ( string state , string unitType , string contactListType , string isReply )
{
if ( state = = Const . TechnicalContactList_Compile | | state = = Const . TechnicalContactList_ReCompile )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( contactListType = = "1" ) //图纸类
{
ListItem [ ] lis = new ListItem [ 1 ] ;
lis [ 0 ] = new ListItem ( "分包负责人审批" , Const . TechnicalContactList_Audit1 ) ;
//lis[1] = new ListItem("总包专工确认", Const.TechnicalContactList_Audit2);
//lis[2] = new ListItem("总包设计人员回复", Const.TechnicalContactList_Audit4);
//lis[3] = new ListItem("总包负责人审批", Const.TechnicalContactList_Audit3);
//lis[4] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
return lis ;
}
else //非图纸类
{
ListItem [ ] lis = new ListItem [ 1 ] ;
lis [ 0 ] = new ListItem ( "分包负责人审批" , Const . TechnicalContactList_Audit1 ) ;
//lis[1] = new ListItem("总包专工回复", Const.TechnicalContactList_Audit2H);
//lis[2] = new ListItem("总包负责人审批", Const.TechnicalContactList_Audit3);
//lis[3] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
return lis ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
ListItem [ ] lis = new ListItem [ 1 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
//lis[1] = new ListItem("分包专工回复", Const.TechnicalContactList_Audit6);
//lis[2] = new ListItem("分包负责人审批", Const.TechnicalContactList_Audit1);
//lis[3] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
return lis ;
}
else //不需回复
{
ListItem [ ] lis = new ListItem [ 1 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
//lis[1] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
return lis ;
}
}
}
else if ( state = = Const . TechnicalContactList_Audit1 )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( isReply = = "1" ) //需要回复
{
if ( contactListType = = "1" ) //图纸类
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包专工确认" , Const . TechnicalContactList_Audit2 ) ;
//lis[1] = new ListItem("总包设计人员回复", Const.TechnicalContactList_Audit4);
//lis[2] = new ListItem("总包负责人审批", Const.TechnicalContactList_Audit3);
//lis[3] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
else //非图纸类
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包专工回复" , Const . TechnicalContactList_Audit2H ) ;
//lis[1] = new ListItem("总包负责人审批", Const.TechnicalContactList_Audit3);
//lis[2] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
}
else
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
lis [ 1 ] = new ListItem ( "分包专工重新回复" , Const . TechnicalContactList_Audit6R ) ;
return lis ;
}
else //不需回复
{
return null ;
}
}
}
else if ( state = = Const . TechnicalContactList_Audit2 | | state = = Const . TechnicalContactList_Audit2R | | state = = Const . TechnicalContactList_Audit2H )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( contactListType = = "1" ) //图纸类
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包设计人员回复" , Const . TechnicalContactList_Audit4 ) ;
//lis[1] = new ListItem("总包负责人审批", Const.TechnicalContactList_Audit3);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
//lis[2] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
return lis ;
}
else //非图纸类
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
//lis[1] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
//lis[1] = new ListItem("分包专工回复", Const.TechnicalContactList_Audit6);
//lis[2] = new ListItem("分包负责人审批", Const.TechnicalContactList_Audit1);
//lis[3] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
else //不需回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
//lis[1] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
}
}
else if ( state = = Const . TechnicalContactList_Audit3 )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( contactListType = = "1" ) //图纸类
{
ListItem [ ] lis = new ListItem [ 3 ] ;
lis [ 0 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
lis [ 2 ] = new ListItem ( "总包设计人员重新回复" , Const . TechnicalContactList_Audit4R ) ;
return lis ;
}
else //非图纸类
{
ListItem [ ] lis = new ListItem [ 3 ] ;
lis [ 0 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
lis [ 2 ] = new ListItem ( "总包专工重新回复" , Const . TechnicalContactList_Audit2R ) ;
return lis ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "分包专工回复" , Const . TechnicalContactList_Audit6 ) ;
//lis[1] = new ListItem("分包负责人审批", Const.TechnicalContactList_Audit1);
//lis[2] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
else //不需回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
}
}
else if ( state = = Const . TechnicalContactList_Audit4 | | state = = Const . TechnicalContactList_Audit4R )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( contactListType = = "1" ) //图纸类
{
ListItem [ ] lis = new ListItem [ 3 ] ;
lis [ 0 ] = new ListItem ( "总包负责人审批" , Const . TechnicalContactList_Audit3 ) ;
lis [ 1 ] = new ListItem ( "审批完成" , Const . TechnicalContactList_Complete ) ;
//lis[1] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 2 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
else //非图纸类
{
return null ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
return null ;
}
else //不需回复
{
return null ;
}
}
}
else if ( state = = Const . TechnicalContactList_Audit6 | | state = = Const . TechnicalContactList_Audit6R )
{
if ( unitType = = Const . ProjectUnitType_2 ) //施工分包商
{
if ( contactListType = = "1" ) //图纸类
{
return null ;
}
else //非图纸类
{
return null ;
}
}
else //总包
{
if ( isReply = = "1" ) //需要回复
{
ListItem [ ] lis = new ListItem [ 2 ] ;
lis [ 0 ] = new ListItem ( "分包负责人审批" , Const . TechnicalContactList_Audit1 ) ;
//lis[1] = new ListItem("审批完成", Const.TechnicalContactList_Complete);
lis [ 1 ] = new ListItem ( "重新编制" , Const . TechnicalContactList_ReCompile ) ;
return lis ;
}
else //不需回复
{
return null ;
}
}
}
else
return null ;
}
2026-04-23 15:18:39 +08:00
///// <summary>
///// 定义变量
///// </summary>
//private static IQueryable<Model.Check_TechnicalContactList> qq = from x in Funs.DB.Check_TechnicalContactList orderby x.CompileDate descending select x;
2021-04-30 10:28:37 +08:00
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="startRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static IEnumerable getListData ( string projectId , int startRowIndex , int maximumRows )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
IQueryable < Model . Check_TechnicalContactList > q = db . Check_TechnicalContactList ;
if ( ! string . IsNullOrEmpty ( projectId ) )
{
q = q . Where ( e = > e . ProjectId = = projectId ) ;
}
//if (!string.IsNullOrEmpty(userId))
//{
// var roleList = BLL.CommonService.GetUserRoleEntrustedRole(userId);
// if (roleId != "admin" && !roleList.Contains(BLL.Const.CNPrincipalRole) && !roleList.Contains(BLL.Const.CQPrincipalRole)
// && !roleList.Contains(BLL.Const.INPrincipalRole))
// {
// string entrusteUserId = BLL.EntrustDetailService.GetEntrusteUserId(userId);
// if (!string.IsNullOrEmpty(entrusteUserId))
// {
// q = q.Where(e => e.CompileMan == userId || e.CompileMan == entrusteUserId);
// }
// else
// {
// q = q.Where(e => e.CompileMan == userId);
// }
// }
//}
count = q . Count ( ) ;
if ( count = = 0 )
{
return new object [ ] { "" } ;
}
return from x in q . Skip ( startRowIndex ) . Take ( maximumRows )
select new
{
x . TechnicalContactListId ,
x . ProjectId ,
x . Code ,
ProposedUnit = ( from y in db . Base_Unit where y . UnitId = = x . ProposedUnitId select y . UnitName ) . First ( ) ,
MainSendUnit = ( from y in db . Base_Unit where y . UnitId = = x . MainSendUnitId select y . UnitName ) . First ( ) ,
UnitWorkName = UnitWorkService . GetUnitWorkName ( x . UnitWorkId ) ,
CNProfessional = CNProfessionalService . GetCNProfessionalNameByCode ( x . CNProfessionalCode ) ,
x . CCUnitIds ,
ContactListType = x . ContactListType = = "1" ? "图纸类" : "非图纸类" ,
IsReply = x . IsReply = = "1" ? "需要回复" : "不需回复" ,
x . Cause ,
x . AttachUrl ,
CompileMan = ( from y in db . Sys_User where y . UserId = = x . CompileMan select y . UserName ) . First ( ) ,
x . CompileDate ,
x . State ,
} ;
}
}
/// <summary>
/// 根据工程联络单信息Id获取一个工程联络单信息
/// </summary>
/// <param name="TechnicalContactListCode">工程联络单信息Id</param>
/// <returns>一个工程联络单信息实体</returns>
public static Model . Check_TechnicalContactList GetTechnicalContactListByTechnicalContactListId ( string TechnicalContactListId )
{
return Funs . DB . Check_TechnicalContactList . FirstOrDefault ( x = > x . TechnicalContactListId = = TechnicalContactListId ) ;
}
public static Model . Check_TechnicalContactList GetTechnicalContactListByTechnicalContactListIdForApi ( string TechnicalContactListId )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
Model . Check_TechnicalContactList res = db . Check_TechnicalContactList . FirstOrDefault ( x = > x . TechnicalContactListId = = TechnicalContactListId ) ;
res . UnitWorkId = res . UnitWorkId + "$" + UnitWorkService . GetUnitWorkName ( res . UnitWorkId ) ;
res . CNProfessionalCode = res . CNProfessionalCode + "$" + CNProfessionalService . GetCNProfessionalNameByCode ( res . CNProfessionalCode ) ;
// Model.Base_Unit unit = BLL.UnitService.GetUnit(res.ProposedUnitId);
var unit = db . Project_ProjectUnit . FirstOrDefault ( e = > e . ProjectId = = res . ProjectId & & e . UnitId = = res . ProposedUnitId ) ;
if ( unit ! = null )
{
res . ProposedUnitId = res . ProposedUnitId + "$" + unit . Base_Unit . UnitName + "$" + unit . UnitType ;
}
else
{
res . ProposedUnitId = res . ProposedUnitId + "$$" ;
}
res . MainSendUnitId = res . MainSendUnitId + "$" + UnitService . getUnitNamesUnitIds ( res . MainSendUnitId ) ;
res . CCUnitIds = res . CCUnitIds + "$" + UnitService . getUnitNamesUnitIds ( res . CCUnitIds ) ;
res . AttachUrl = AttachFileService . getFileUrl ( res . TechnicalContactListId ) ;
res . ReAttachUrl = AttachFileService . getFileUrl ( res . TechnicalContactListId + "r" ) ;
res . ReturnAttachUrl = AttachFileService . getFileUrl ( res . TechnicalContactListId + "re" ) ;
return res ;
}
}
//<summary>
//获取办理人姓名
//</summary>
//<param name="state"></param>
//<returns></returns>
public static string ConvertMan ( object centerHandoverCode )
{
if ( centerHandoverCode ! = null )
{
Model . Check_TechnicalContactListApprove a = TechnicalContactListApproveService . GetTechnicalContactListApproveByTechnicalContactListId ( centerHandoverCode . ToString ( ) ) ;
if ( a ! = null )
{
if ( a . ApproveMan ! = null )
{
return UserService . GetUserByUserId ( a . ApproveMan ) . UserName ;
}
}
else
{
return "" ;
}
}
return "" ;
}
public static string ConvertManAndId ( object centerHandoverCode )
{
if ( centerHandoverCode ! = null )
{
Model . Check_TechnicalContactListApprove a = TechnicalContactListApproveService . GetTechnicalContactListApproveByTechnicalContactListId ( centerHandoverCode . ToString ( ) ) ;
if ( a ! = null )
{
if ( a . ApproveMan ! = null )
{
var user = UserService . GetUserByUserId ( a . ApproveMan ) ;
return user . UserName + "$" + user . UserId ;
}
}
else
{
return "" ;
}
}
return "" ;
}
/// <summary>
/// 把状态转换代号为文字形式
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
public static string ConvertState ( object state )
{
if ( state ! = null )
{
if ( state . ToString ( ) = = Const . TechnicalContactList_ReCompile )
{
return "重新编制" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Compile )
{
return "编制" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit1 )
{
return "分包负责人审批" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit2 )
{
return "总包专工确认" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit3 )
{
return "总包负责人审批" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit4 )
{
return "总包设计人员回复" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit6 )
{
return "分包专工回复" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Complete )
{
return "审批完成" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit2R )
{
return "总包专工重新回复" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit4R )
{
return "总包设计人员重新回复" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit6R )
{
return "分包专工重新回复" ;
}
else if ( state . ToString ( ) = = Const . TechnicalContactList_Audit2H )
{
return "总包专工回复" ;
}
else
{
return "" ;
}
}
else
{
return "" ;
}
}
public static int getListCount ( string projectId )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
IQueryable < Model . Check_TechnicalContactList > q = db . Check_TechnicalContactList ;
if ( ! string . IsNullOrEmpty ( projectId ) )
{
q = q . Where ( e = > e . ProjectId = = projectId ) ;
}
return q . Count ( ) ;
}
}
public static List < Model . Check_TechnicalContactList > getListDataForApi ( string name , string projectId , int startRowIndex , int maximumRows )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
IQueryable < Model . Check_TechnicalContactList > q = db . Check_TechnicalContactList ;
if ( ! string . IsNullOrEmpty ( projectId ) )
{
q = q . Where ( e = > e . ProjectId = = projectId ) ;
}
if ( ! string . IsNullOrEmpty ( name ) )
{
List < string > ids = new List < string > ( ) ;
var qunit = from u in Funs . DB . Base_Unit
where u . UnitName . Contains ( name )
select u . UnitId ;
ids = qunit . ToList ( ) ;
q = q . Where ( e = > ids . Contains ( e . ProposedUnitId ) ) ;
}
var qres = from x in q
orderby x . Code descending
select new
{
x . TechnicalContactListId ,
x . ProjectId ,
x . Code ,
x . ProposedUnitId ,
x . CNProfessionalCode ,
x . UnitWorkId ,
x . MainSendUnitId ,
x . CCUnitIds ,
MainSendUnit1 = UnitService . getUnitNamesUnitIds ( x . MainSendUnitId ) ,
UnitWorkName = BLL . UnitWorkService . GetUnitWorkName ( x . UnitWorkId ) ,
CNProfessional = BLL . CNProfessionalService . GetCNProfessionalNameByCode ( x . CNProfessionalCode ) ,
CCUnitIdName = UnitService . getUnitNamesUnitIds ( x . CCUnitIds ) ,
x . Contents ,
x . ContactListType ,
x . IsReply ,
x . Cause ,
CompileMan = ( from y in db . Sys_User where y . UserId = = x . CompileMan select y . UserName ) . First ( ) ,
x . CompileDate ,
x . State ,
} ;
List < Model . Check_TechnicalContactList > res = new List < Model . Check_TechnicalContactList > ( ) ;
var list = qres . Skip ( startRowIndex * maximumRows ) . Take ( maximumRows ) . ToList ( ) ;
foreach ( var item in list )
{
Model . Check_TechnicalContactList tc = new Model . Check_TechnicalContactList ( ) ;
tc . TechnicalContactListId = item . TechnicalContactListId ;
tc . ProjectId = item . ProjectId ;
tc . Code = item . Code ;
var unit = db . Project_ProjectUnit . FirstOrDefault ( u = > u . ProjectId = = tc . ProjectId & & u . UnitId = = item . ProposedUnitId ) ;
if ( unit ! = null )
{
tc . ProposedUnitId = item . ProposedUnitId + "$" + unit . Base_Unit . UnitName + "$" + unit . UnitType ;
}
else
{
tc . ProposedUnitId = item . ProposedUnitId + "$$" ;
}
tc . MainSendUnitId = item . MainSendUnitId + "$" + item . MainSendUnit1 ;
tc . CCUnitIds = item . CCUnitIds + "$" + item . CCUnitIdName ;
tc . Contents = item . Contents ;
tc . CNProfessionalCode = item . CNProfessionalCode + "$" + item . CNProfessional ;
tc . CCUnitIds = item . CCUnitIds + "$" + item . CCUnitIdName ;
tc . ContactListType = item . ContactListType ;
tc . IsReply = item . IsReply ;
tc . Cause = item . Cause ;
tc . AttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId ) ;
tc . ReAttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId + "r" ) ;
tc . ReturnAttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId + "re" ) ;
tc . CompileMan = item . CompileMan + "$" + ConvertManAndId ( item . TechnicalContactListId ) ;
tc . CompileDate = item . CompileDate ;
tc . State = item . State ;
tc . UnitWorkId = item . UnitWorkId + "$" + item . UnitWorkName ;
res . Add ( tc ) ;
}
return res ;
}
}
public static List < Model . Check_TechnicalContactList > getListDataForApi ( string state , string contactListType , string isReply , string dateA , string dateZ , string proposedUnitId , string unitWorkId , string mainSendUnit , string cCUnitIds , string professional , string projectId , int startRowIndex , int maximumRows )
{
using ( var db = new Model . SGGLDB ( Funs . ConnString ) )
{
IQueryable < Model . Check_TechnicalContactList > q = db . Check_TechnicalContactList ;
if ( ! string . IsNullOrEmpty ( state ) & & "undefined" ! = state )
{
if ( "8" = = state )
q = q . Where ( e = > e . State = = "8" ) ;
else
{
q = q . Where ( e = > e . State ! = "8" ) ;
}
}
if ( ! string . IsNullOrEmpty ( contactListType ) & & "undefined" ! = contactListType )
{
q = q . Where ( e = > e . ContactListType = = contactListType ) ;
}
if ( ! string . IsNullOrEmpty ( isReply ) & & "undefined" ! = isReply )
{
q = q . Where ( e = > e . IsReply = = isReply ) ;
}
if ( ! string . IsNullOrEmpty ( dateA ) & & "undefined" ! = dateA )
{
DateTime date = DateTime . ParseExact ( dateA , "yyyy-MM-dd" , new CultureInfo ( "zh-CN" , true ) ) ;
q = q . Where ( e = > e . CompileDate > = date ) ;
}
if ( ! string . IsNullOrEmpty ( dateZ ) & & "undefined" ! = dateZ )
{
DateTime date = DateTime . ParseExact ( dateZ + "23:59:59" , "yyyy-MM-ddHH:mm:ss" , new CultureInfo ( "zh-CN" , true ) ) ;
q = q . Where ( e = > e . CompileDate < = date ) ;
}
if ( ! string . IsNullOrEmpty ( projectId ) & & "undefined" ! = projectId )
{
q = q . Where ( e = > e . ProjectId = = projectId ) ;
}
if ( ! string . IsNullOrEmpty ( proposedUnitId ) & & "undefined" ! = proposedUnitId )
{
q = q . Where ( e = > proposedUnitId = = e . ProposedUnitId ) ;
}
if ( ! string . IsNullOrEmpty ( unitWorkId ) & & "undefined" ! = unitWorkId )
{
q = q . Where ( e = > e . UnitWorkId . Contains ( unitWorkId ) ) ;
}
if ( ! string . IsNullOrEmpty ( mainSendUnit ) & & "undefined" ! = mainSendUnit )
{
q = q . Where ( e = > e . MainSendUnitId . Contains ( mainSendUnit ) ) ;
}
if ( ! string . IsNullOrEmpty ( cCUnitIds ) & & "undefined" ! = cCUnitIds )
{
q = q . Where ( e = > e . CCUnitIds . Contains ( cCUnitIds ) ) ;
}
if ( ! string . IsNullOrEmpty ( professional ) & & "undefined" ! = professional )
{
q = q . Where ( e = > e . CNProfessionalCode . Contains ( professional ) ) ;
}
var qres = from x in q
orderby x . Code descending
select new
{
x . TechnicalContactListId ,
x . ProjectId ,
x . Code ,
x . ProposedUnitId ,
x . CNProfessionalCode ,
x . UnitWorkId ,
x . MainSendUnitId ,
x . CCUnitIds ,
MainSendUnit1 = UnitService . getUnitNamesUnitIds ( x . MainSendUnitId ) ,
UnitWorkName = BLL . UnitWorkService . GetUnitWorkName ( x . UnitWorkId ) ,
CNProfessional = BLL . CNProfessionalService . GetCNProfessionalNameByCode ( x . CNProfessionalCode ) ,
CCUnitIdName = UnitService . getUnitNamesUnitIds ( x . CCUnitIds ) ,
x . Contents ,
x . ContactListType ,
x . IsReply ,
x . Cause ,
x . AttachUrl ,
CompileMan = ( from y in db . Sys_User where y . UserId = = x . CompileMan select y . UserName ) . First ( ) ,
x . CompileDate ,
x . State ,
} ;
List < Model . Check_TechnicalContactList > res = new List < Model . Check_TechnicalContactList > ( ) ;
var list = qres . Skip ( startRowIndex * maximumRows ) . Take ( maximumRows ) . ToList ( ) ;
foreach ( var item in list )
{
Model . Check_TechnicalContactList tc = new Model . Check_TechnicalContactList ( ) ;
tc . TechnicalContactListId = item . TechnicalContactListId ;
tc . ProjectId = item . ProjectId ;
tc . Code = item . Code ;
var unit = db . Project_ProjectUnit . FirstOrDefault ( u = > u . ProjectId = = tc . ProjectId & & u . UnitId = = item . ProposedUnitId ) ;
if ( unit ! = null )
{
tc . ProposedUnitId = item . ProposedUnitId + "$" + unit . Base_Unit . UnitName + "$" + unit . UnitType ;
}
else
{
tc . ProposedUnitId = item . ProposedUnitId + "$$" ;
}
tc . MainSendUnitId = item . MainSendUnitId + "$" + item . MainSendUnit1 ;
tc . CCUnitIds = item . CCUnitIds + "$" + item . CCUnitIdName ;
tc . Contents = item . Contents ;
tc . CNProfessionalCode = item . CNProfessionalCode + "$" + item . CNProfessional ;
tc . CCUnitIds = item . CCUnitIds + "$" + item . CCUnitIdName ;
tc . ContactListType = item . ContactListType ;
tc . IsReply = item . IsReply ;
tc . Cause = item . Cause ;
tc . AttachUrl = item . AttachUrl ;
tc . CompileMan = item . CompileMan + "$" + ConvertManAndId ( item . TechnicalContactListId ) ; ;
tc . CompileDate = item . CompileDate ;
tc . State = item . State ;
tc . UnitWorkId = item . UnitWorkId + "$" + item . UnitWorkName ;
tc . AttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId ) ;
tc . ReAttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId + "r" ) ;
tc . ReturnAttachUrl = AttachFileService . getFileUrl ( item . TechnicalContactListId + "re" ) ;
res . Add ( tc ) ;
}
return res ;
}
}
public static void UpdateTechnicalContactListForApi ( Model . Check_TechnicalContactList TechnicalContactList )
{
using ( Model . SGGLDB db = new Model . SGGLDB ( Funs . ConnString ) )
{
Model . Check_TechnicalContactList newTechnicalContactList = db . Check_TechnicalContactList . FirstOrDefault ( e = > e . TechnicalContactListId = = TechnicalContactList . TechnicalContactListId ) ;
if ( newTechnicalContactList ! = null )
{
if ( ! string . IsNullOrEmpty ( TechnicalContactList . Code ) )
newTechnicalContactList . Code = TechnicalContactList . Code ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . ProposedUnitId ) )
newTechnicalContactList . ProposedUnitId = TechnicalContactList . ProposedUnitId ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . MainSendUnitId ) )
newTechnicalContactList . MainSendUnitId = TechnicalContactList . MainSendUnitId ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . CCUnitIds ) )
newTechnicalContactList . CCUnitIds = TechnicalContactList . CCUnitIds ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . UnitWorkId ) )
newTechnicalContactList . UnitWorkId = TechnicalContactList . UnitWorkId ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . CNProfessionalCode ) )
newTechnicalContactList . CNProfessionalCode = TechnicalContactList . CNProfessionalCode ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . ContactListType ) )
newTechnicalContactList . ContactListType = TechnicalContactList . ContactListType ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . IsReply ) )
newTechnicalContactList . IsReply = TechnicalContactList . IsReply ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . Cause ) )
newTechnicalContactList . Cause = TechnicalContactList . Cause ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . Contents ) )
newTechnicalContactList . Contents = TechnicalContactList . Contents ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . AttachUrl ) )
newTechnicalContactList . AttachUrl = TechnicalContactList . AttachUrl ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . State ) )
newTechnicalContactList . State = TechnicalContactList . State ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . ReAttachUrl ) )
newTechnicalContactList . ReAttachUrl = TechnicalContactList . ReAttachUrl ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . ReturnAttachUrl ) )
newTechnicalContactList . ReturnAttachUrl = TechnicalContactList . ReturnAttachUrl ;
if ( ! string . IsNullOrEmpty ( TechnicalContactList . ReOpinion ) )
newTechnicalContactList . ReOpinion = TechnicalContactList . ReOpinion ;
db . SubmitChanges ( ) ;
}
}
}
}
}