557 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			557 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						|
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 WorkContactService
 | 
						|
    {
 | 
						|
        #region 把状态转换代号为文字形式
 | 
						|
        /// <summary>
 | 
						|
        /// 把状态转换代号为文字形式
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="state"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static string ConvertState(object state)
 | 
						|
        {
 | 
						|
            if (state != null)
 | 
						|
            {
 | 
						|
                if (state.ToString() == BLL.Const.WorkContact_ReCompile)
 | 
						|
                {
 | 
						|
                    return "重新编制";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Compile)
 | 
						|
                {
 | 
						|
                    return "编制";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit1)
 | 
						|
                {
 | 
						|
                    return "分包负责人审核";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit2)
 | 
						|
                {
 | 
						|
                    return "总包专工回复";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit3)
 | 
						|
                {
 | 
						|
                    return "总包负责人审核";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Complete)
 | 
						|
                {
 | 
						|
                    return "审批完成";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit1R)
 | 
						|
                {
 | 
						|
                    return "分包专工重新回复";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit2R)
 | 
						|
                {
 | 
						|
                    return "总包专工重新回复";
 | 
						|
                }
 | 
						|
                else if (state.ToString() == BLL.Const.WorkContact_Audit4)
 | 
						|
                {
 | 
						|
                    return "分包专工回复";
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    return "";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                return "";
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
        /// <summary>
 | 
						|
        /// 根据工作联系单信息Id删除一个工作联系单信息信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="workContactId">工作联系单信息Id</param>
 | 
						|
        public static void DeleteWorkContact(string workContactId)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.Unqualified_WorkContact workContact = db.Unqualified_WorkContact.First(e => e.WorkContactId == workContactId);
 | 
						|
 | 
						|
            db.Unqualified_WorkContact.DeleteOnSubmit(workContact);
 | 
						|
            db.SubmitChanges();
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 根据状态选择下一步办理类型
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="state"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static ListItem[] GetDHandleTypeByState(string state, string unitType, string isReply)
 | 
						|
        {
 | 
						|
            ListItem[] lis = null;
 | 
						|
            if (state == Const.WorkContact_Compile || state == Const.WorkContact_ReCompile)
 | 
						|
            {
 | 
						|
                if (unitType == Const.ProjectUnitType_2)   //分包商
 | 
						|
                {
 | 
						|
                    lis = new ListItem[1];
 | 
						|
                    lis[0] = new ListItem("分包负责人审核", Const.WorkContact_Audit1);
 | 
						|
                    //lis[1] = new ListItem("审核完结", Const.WorkContact_Complete);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    lis = new ListItem[1];
 | 
						|
                    lis[0] = new ListItem("总包负责人审核", Const.WorkContact_Audit3);
 | 
						|
                    //lis[1] = new ListItem("审核完结", Const.WorkContact_Complete);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (state == Const.WorkContact_Audit1)
 | 
						|
            {
 | 
						|
                if (unitType == Const.ProjectUnitType_2)   //分包商
 | 
						|
                {
 | 
						|
                    if (isReply == "1")  //需要回复
 | 
						|
                    {
 | 
						|
                        lis = new ListItem[2];
 | 
						|
                        lis[0] = new ListItem("总包专工回复", Const.WorkContact_Audit2);
 | 
						|
                        lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                    }
 | 
						|
                    else   //不需回复
 | 
						|
                    {
 | 
						|
                        lis = new ListItem[2];
 | 
						|
                        lis[0] = new ListItem("审批完成", Const.WorkContact_Complete);
 | 
						|
                        lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else  //总包
 | 
						|
                {
 | 
						|
                    if (isReply == "1")  //需要回复
 | 
						|
                    {
 | 
						|
                        lis = new ListItem[2];
 | 
						|
                        lis[0] = new ListItem("审批完成", Const.WorkContact_Complete);
 | 
						|
                        lis[1] = new ListItem("分包专工重新回复", Const.WorkContact_Audit1R);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (state == Const.WorkContact_Audit2 || state == Const.WorkContact_Audit2R)
 | 
						|
            {
 | 
						|
                lis = new ListItem[2];
 | 
						|
                lis[0] = new ListItem("总包负责人审核", Const.WorkContact_Audit3);
 | 
						|
                lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
            }
 | 
						|
            else if (state == Const.WorkContact_Audit3)
 | 
						|
            {
 | 
						|
                if (unitType == Const.ProjectUnitType_2)   //分包商
 | 
						|
                {
 | 
						|
                    lis = new ListItem[3];
 | 
						|
                    lis[0] = new ListItem("审批完成", Const.WorkContact_Complete);
 | 
						|
                    lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                    lis[2] = new ListItem("总包专工重新回复", Const.WorkContact_Audit2R);
 | 
						|
                }
 | 
						|
                else    //总包
 | 
						|
                {
 | 
						|
                    if (isReply == "1")   //需要回复
 | 
						|
                    {
 | 
						|
                        lis = new ListItem[2];
 | 
						|
                        lis[0] = new ListItem("分包专工回复", Const.WorkContact_Audit4);
 | 
						|
                        lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        lis = new ListItem[2];
 | 
						|
                        lis[0] = new ListItem("审批完成", Const.WorkContact_Complete);
 | 
						|
                        lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (state == Const.WorkContact_Audit4 || state == Const.WorkContact_Audit1R)
 | 
						|
            {
 | 
						|
                if (isReply == "1")   //需要回复
 | 
						|
                {
 | 
						|
                    lis = new ListItem[1];
 | 
						|
                    lis[0] = new ListItem("分包负责人审核", Const.WorkContact_Audit1);
 | 
						|
                    //lis[1] = new ListItem("重新编制", Const.WorkContact_ReCompile);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return lis;
 | 
						|
        }
 | 
						|
        public static void InitHandleType(FineUIPro.DropDownList dropName, bool isShowPlease, string state, string unitType, string isReply)
 | 
						|
        {
 | 
						|
            dropName.DataValueField = "Value";
 | 
						|
            dropName.DataTextField = "Text";
 | 
						|
            dropName.DataSource = GetDHandleTypeByState(state, unitType, isReply);
 | 
						|
            dropName.DataBind();
 | 
						|
            if (isShowPlease)
 | 
						|
            {
 | 
						|
                Funs.FineUIPleaseSelect(dropName);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 根据工作联系单信息Id获取一个工作联系单信息信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="workContactId">工作联系单信息Id</param>
 | 
						|
        /// <returns>一个工作联系单信息实体</returns>
 | 
						|
        public static Model.Unqualified_WorkContact GetWorkContactByWorkContactId(string workContactId)
 | 
						|
        {
 | 
						|
            return Funs.DB.Unqualified_WorkContact.FirstOrDefault(x => x.WorkContactId == workContactId);
 | 
						|
 | 
						|
        }
 | 
						|
        public static Model.Unqualified_WorkContact GetWorkContactByWorkContactIdForApi(string workContactId)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                var res = db.Unqualified_WorkContact.FirstOrDefault(x => x.WorkContactId == workContactId);
 | 
						|
                //Model.Base_Unit unit = db.Base_Unit.FirstOrDefault(e => e.UnitId == res.ProposedUnitId);
 | 
						|
                var unit = db.Project_ProjectUnit.FirstOrDefault(e => e.UnitId == res.ProposedUnitId && e.ProjectId == res.ProjectId);
 | 
						|
                if (unit != null)
 | 
						|
                {
 | 
						|
                    res.ProposedUnitId = res.ProposedUnitId + "$" + unit.Base_Unit.UnitName + "$" + unit.UnitType;
 | 
						|
                }
 | 
						|
                res.MainSendUnitIds = res.MainSendUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.MainSendUnitIds);
 | 
						|
                res.CCUnitIds = res.CCUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.CCUnitIds);
 | 
						|
                res.AttachUrl = AttachFileService.getFileUrl(res.WorkContactId);
 | 
						|
                res.ReturnAttachUrl = AttachFileService.getFileUrl(res.WorkContactId + "r");
 | 
						|
                return res;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        #region 获取办理人姓名
 | 
						|
        //<summary>
 | 
						|
        //获取办理人姓名
 | 
						|
        //</summary>
 | 
						|
        //<param name="state"></param>
 | 
						|
        //<returns></returns>
 | 
						|
        public static string ConvertMan(object WorkContactId)
 | 
						|
        {
 | 
						|
            if (WorkContactId != null)
 | 
						|
            {
 | 
						|
                Model.Unqualified_WorkContactApprove a = WorkContactApproveService.GetWorkContactApproveByWorkContactId(WorkContactId.ToString());
 | 
						|
                if (a != null)
 | 
						|
                {
 | 
						|
                    if (a.ApproveMan != null)
 | 
						|
                    {
 | 
						|
                        return UserService.GetUserByUserId(a.ApproveMan).UserName;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    return "";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return "";
 | 
						|
        }
 | 
						|
        public static string ConvertManAndId(object WorkContactId)
 | 
						|
        {
 | 
						|
            if (WorkContactId != null)
 | 
						|
            {
 | 
						|
                Model.Unqualified_WorkContactApprove a = WorkContactApproveService.GetWorkContactApproveByWorkContactId(WorkContactId.ToString());
 | 
						|
                if (a != null)
 | 
						|
                {
 | 
						|
                    if (a.ApproveMan != null)
 | 
						|
                    {
 | 
						|
                        var user = UserService.GetUserByUserId(a.ApproveMan);
 | 
						|
                        return user.UserName + "$" + user.UserId;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    return "";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return "";
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
        /// <summary>
 | 
						|
        /// 增加工作联系单信息信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="workContact">工作联系单信息实体</param>
 | 
						|
        public static void AddWorkContact(Model.Unqualified_WorkContact workContact)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.Unqualified_WorkContact newWorkContact = new Model.Unqualified_WorkContact();
 | 
						|
            newWorkContact.WorkContactId = workContact.WorkContactId;
 | 
						|
            newWorkContact.ProjectId = workContact.ProjectId;
 | 
						|
            newWorkContact.Code = workContact.Code;
 | 
						|
            newWorkContact.ProposedUnitId = workContact.ProposedUnitId;
 | 
						|
            newWorkContact.MainSendUnitIds = workContact.MainSendUnitIds;
 | 
						|
            newWorkContact.CCUnitIds = workContact.CCUnitIds;
 | 
						|
            newWorkContact.Cause = workContact.Cause;
 | 
						|
            newWorkContact.Contents = workContact.Contents;
 | 
						|
            newWorkContact.IsReply = workContact.IsReply;
 | 
						|
            newWorkContact.AttachUrl = workContact.AttachUrl;
 | 
						|
            newWorkContact.CompileMan = workContact.CompileMan;
 | 
						|
            newWorkContact.CompileDate = workContact.CompileDate;
 | 
						|
            newWorkContact.State = workContact.State;
 | 
						|
            newWorkContact.IsFinal = workContact.IsFinal;
 | 
						|
            newWorkContact.ReOpinion = workContact.ReOpinion;
 | 
						|
            newWorkContact.SaveHandleMan = workContact.SaveHandleMan;
 | 
						|
            db.Unqualified_WorkContact.InsertOnSubmit(newWorkContact);
 | 
						|
            db.SubmitChanges();
 | 
						|
        }
 | 
						|
        public static void AddWorkContactForApi(Model.Unqualified_WorkContact workContact)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                Model.Unqualified_WorkContact newWorkContact = new Model.Unqualified_WorkContact();
 | 
						|
                newWorkContact.WorkContactId = workContact.WorkContactId;
 | 
						|
                newWorkContact.ProjectId = workContact.ProjectId;
 | 
						|
                newWorkContact.Code = workContact.Code;
 | 
						|
                newWorkContact.ProposedUnitId = workContact.ProposedUnitId;
 | 
						|
                newWorkContact.MainSendUnitIds = workContact.MainSendUnitIds;
 | 
						|
                newWorkContact.CCUnitIds = workContact.CCUnitIds;
 | 
						|
                newWorkContact.Cause = workContact.Cause;
 | 
						|
                newWorkContact.Contents = workContact.Contents;
 | 
						|
                newWorkContact.IsReply = workContact.IsReply;
 | 
						|
                newWorkContact.AttachUrl = workContact.AttachUrl;
 | 
						|
                newWorkContact.CompileMan = workContact.CompileMan;
 | 
						|
                newWorkContact.CompileDate = workContact.CompileDate;
 | 
						|
                newWorkContact.State = workContact.State;
 | 
						|
                newWorkContact.IsFinal = workContact.IsFinal;
 | 
						|
                newWorkContact.ReOpinion = workContact.ReOpinion;
 | 
						|
                newWorkContact.SaveHandleMan = workContact.SaveHandleMan;
 | 
						|
                db.Unqualified_WorkContact.InsertOnSubmit(newWorkContact);
 | 
						|
                db.SubmitChanges();
 | 
						|
            }
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 修改工作联系单信息信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="workContact">工作联系单信息实体</param>
 | 
						|
        public static void UpdateWorkContact(Model.Unqualified_WorkContact workContact)
 | 
						|
        {
 | 
						|
            Model.SGGLDB db = Funs.DB;
 | 
						|
            Model.Unqualified_WorkContact newWorkContact = db.Unqualified_WorkContact.First(e => e.WorkContactId == workContact.WorkContactId);
 | 
						|
            newWorkContact.Code = workContact.Code;
 | 
						|
            newWorkContact.ProposedUnitId = workContact.ProposedUnitId;
 | 
						|
            newWorkContact.MainSendUnitIds = workContact.MainSendUnitIds;
 | 
						|
            newWorkContact.CCUnitIds = workContact.CCUnitIds;
 | 
						|
            newWorkContact.Cause = workContact.Cause;
 | 
						|
            newWorkContact.Contents = workContact.Contents;
 | 
						|
            newWorkContact.IsReply = workContact.IsReply;
 | 
						|
            newWorkContact.AttachUrl = workContact.AttachUrl;
 | 
						|
            newWorkContact.State = workContact.State;
 | 
						|
            newWorkContact.ReOpinion = workContact.ReOpinion;
 | 
						|
            newWorkContact.SaveHandleMan = workContact.SaveHandleMan;
 | 
						|
            db.SubmitChanges();
 | 
						|
        }
 | 
						|
        public static List<Model.Unqualified_WorkContact> getListDataForApi(string projectId, string name, int startRowIndex, int maximumRows)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                IQueryable<Model.Unqualified_WorkContact> q = db.Unqualified_WorkContact;
 | 
						|
                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.WorkContactId,
 | 
						|
                               x.Code,
 | 
						|
                               x.ProjectId,
 | 
						|
                               x.CompileMan,
 | 
						|
                               x.CompileDate,
 | 
						|
                               x.Cause,
 | 
						|
                               x.ProposedUnitId,
 | 
						|
                               x.State,
 | 
						|
                               x.Contents,
 | 
						|
                               MainSendUnitName = UnitService.getUnitNamesUnitIds(x.MainSendUnitIds),
 | 
						|
                               CCUnitName = UnitService.getUnitNamesUnitIds(x.CCUnitIds),
 | 
						|
                               x.IsReply
 | 
						|
                           };
 | 
						|
 | 
						|
                List<Model.Unqualified_WorkContact> res = new List<Model.Unqualified_WorkContact>();
 | 
						|
                var list = qres.Skip(startRowIndex * maximumRows).Take(maximumRows).ToList();
 | 
						|
                foreach (var item in list)
 | 
						|
                {
 | 
						|
                    Model.Unqualified_WorkContact wc = new Model.Unqualified_WorkContact();
 | 
						|
                    wc.WorkContactId = item.WorkContactId;
 | 
						|
                    wc.Code = item.Code;
 | 
						|
                    wc.ProjectId = item.ProjectId;
 | 
						|
                    wc.CompileMan = item.CompileMan;
 | 
						|
                    wc.CompileDate = item.CompileDate;
 | 
						|
                    wc.Cause = item.Cause;
 | 
						|
                    wc.State = item.State;
 | 
						|
                    var unit = db.Project_ProjectUnit.FirstOrDefault(u => u.ProjectId == wc.ProjectId && u.UnitId == item.ProposedUnitId);
 | 
						|
                    if (unit != null)
 | 
						|
                    {
 | 
						|
                        wc.ProposedUnitId = item.ProposedUnitId + "$" + unit.Base_Unit.UnitName + "$" + unit.UnitType;
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        wc.ProposedUnitId = item.ProposedUnitId + "$$";
 | 
						|
                    }
 | 
						|
                    wc.MainSendUnitIds = item.MainSendUnitName;
 | 
						|
                    wc.CCUnitIds = item.CCUnitName;
 | 
						|
                    wc.CompileMan = ConvertManAndId(item.WorkContactId);
 | 
						|
                    wc.IsReply = item.IsReply;
 | 
						|
                    wc.Contents = item.Contents;
 | 
						|
                    wc.AttachUrl = AttachFileService.getFileUrl(item.WorkContactId);
 | 
						|
                    wc.ReturnAttachUrl = AttachFileService.getFileUrl(item.WorkContactId + "r");
 | 
						|
                    res.Add(wc);
 | 
						|
 | 
						|
                }
 | 
						|
                return res;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        public static List<Model.Unqualified_WorkContact> getListDataForApi(string code, string proposedUnitId, string mainSendUnitId, string cCUnitId, string cause, string contents, string dateA, string dateZ, string projectId, int startRowIndex, int maximumRows)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                IQueryable<Model.Unqualified_WorkContact> q = db.Unqualified_WorkContact;
 | 
						|
                if (!string.IsNullOrEmpty(code) && "undefined" != code)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.Code.Contains(code));
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(proposedUnitId) && "undefined" != proposedUnitId)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.ProposedUnitId.Contains(proposedUnitId));
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(mainSendUnitId) && "undefined" != mainSendUnitId)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.MainSendUnitIds.Contains(mainSendUnitId));
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(cCUnitId) && "undefined" != cCUnitId)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.CCUnitIds.Contains(cCUnitId));
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(cause) && "undefined" != cause)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.Cause.Contains(cause));
 | 
						|
                }
 | 
						|
 | 
						|
                if (!string.IsNullOrEmpty(contents) && "undefined" != contents)
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.Contents.Contains(contents));
 | 
						|
                }
 | 
						|
 | 
						|
                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);
 | 
						|
                }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
                var qres = from x in q
 | 
						|
                           orderby x.Code descending
 | 
						|
                           select new
 | 
						|
                           {
 | 
						|
                               x.WorkContactId,
 | 
						|
                               x.Code,
 | 
						|
                               x.ProjectId,
 | 
						|
                               x.CompileMan,
 | 
						|
                               x.CompileDate,
 | 
						|
                               x.Cause,
 | 
						|
                               x.ProposedUnitId,
 | 
						|
                               x.State,
 | 
						|
                               x.Contents,
 | 
						|
                               x.AttachUrl,
 | 
						|
                               MainSendUnitName = UnitService.getUnitNamesUnitIds(x.MainSendUnitIds),
 | 
						|
                               CCUnitName = UnitService.getUnitNamesUnitIds(x.CCUnitIds),
 | 
						|
                               x.IsReply
 | 
						|
                           };
 | 
						|
 | 
						|
                List<Model.Unqualified_WorkContact> res = new List<Model.Unqualified_WorkContact>();
 | 
						|
                var list = qres.Skip(startRowIndex * maximumRows).Take(maximumRows).ToList();
 | 
						|
                foreach (var item in list)
 | 
						|
                {
 | 
						|
                    Model.Unqualified_WorkContact wc = new Model.Unqualified_WorkContact();
 | 
						|
                    wc.WorkContactId = item.WorkContactId;
 | 
						|
                    wc.Code = item.Code;
 | 
						|
                    wc.ProjectId = item.ProjectId;
 | 
						|
                    wc.CompileMan = item.CompileMan;
 | 
						|
                    wc.CompileDate = item.CompileDate;
 | 
						|
                    wc.Cause = item.Cause;
 | 
						|
                    wc.State = item.State;
 | 
						|
                    var unit = db.Project_ProjectUnit.FirstOrDefault(u => u.ProjectId == wc.ProjectId && u.UnitId == item.ProposedUnitId);
 | 
						|
                    if (unit != null)
 | 
						|
                    {
 | 
						|
                        wc.ProposedUnitId = item.ProposedUnitId + "$" + unit.Base_Unit.UnitName + "$" + unit.UnitType;
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        wc.ProposedUnitId = item.ProposedUnitId + "$$";
 | 
						|
                    }
 | 
						|
                    wc.MainSendUnitIds = item.MainSendUnitName;
 | 
						|
                    wc.CCUnitIds = item.CCUnitName;
 | 
						|
                    wc.CompileMan = ConvertManAndId(item.WorkContactId);
 | 
						|
                    wc.IsReply = item.IsReply;
 | 
						|
                    wc.Contents = item.Contents;
 | 
						|
                    wc.AttachUrl = item.AttachUrl;
 | 
						|
                    wc.IsReply = item.IsReply;
 | 
						|
                    wc.AttachUrl = AttachFileService.getFileUrl(item.WorkContactId);
 | 
						|
                    wc.ReturnAttachUrl = AttachFileService.getFileUrl(item.WorkContactId + "r");
 | 
						|
                    res.Add(wc);
 | 
						|
 | 
						|
                }
 | 
						|
                return res;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        public static void UpdateWorkContactForApi(Model.Unqualified_WorkContact workContact)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                Model.Unqualified_WorkContact newWorkContact = db.Unqualified_WorkContact.FirstOrDefault(e => e.WorkContactId == workContact.WorkContactId);
 | 
						|
                if (newWorkContact != null)
 | 
						|
                {
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.Code))
 | 
						|
                        newWorkContact.Code = workContact.Code;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.ProposedUnitId))
 | 
						|
                        newWorkContact.ProposedUnitId = workContact.ProposedUnitId;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.MainSendUnitIds))
 | 
						|
                        newWorkContact.MainSendUnitIds = workContact.MainSendUnitIds;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.CCUnitIds))
 | 
						|
                        newWorkContact.CCUnitIds = workContact.CCUnitIds;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.Cause))
 | 
						|
                        newWorkContact.Cause = workContact.Cause;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.Contents))
 | 
						|
                        newWorkContact.Contents = workContact.Contents;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.IsReply))
 | 
						|
                        newWorkContact.IsReply = workContact.IsReply;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.AttachUrl))
 | 
						|
                        newWorkContact.AttachUrl = workContact.AttachUrl;
 | 
						|
                    if (workContact.CompileDate.HasValue)
 | 
						|
                        newWorkContact.CompileDate = workContact.CompileDate;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.State))
 | 
						|
                        newWorkContact.State = workContact.State;
 | 
						|
                    if (!string.IsNullOrEmpty(workContact.ReOpinion))
 | 
						|
                        newWorkContact.ReOpinion = workContact.ReOpinion;
 | 
						|
                    db.SubmitChanges();
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        public static int getListCount(string projectId)
 | 
						|
        {
 | 
						|
            using (var db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
            {
 | 
						|
                IQueryable<Model.Unqualified_WorkContact> q = db.Unqualified_WorkContact;
 | 
						|
                if (!string.IsNullOrEmpty(projectId))
 | 
						|
                {
 | 
						|
                    q = q.Where(e => e.ProjectId == projectId);
 | 
						|
                }
 | 
						|
                return q.Count();
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |