using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Web.UI.WebControls; namespace BLL { public class WBSsearchService { /// /// 根据查询条件查询列表 /// /// public static List getWBSlistForApi(string projectId, int index, int page, string unitWorkId = "", string ControlItemContent = "", string ControlPoint = "", string ControlItemDef = "", string HGForms = "") { using (var db = new Model.SGGLDB(Funs.ConnString)) { IQueryable q = db.View_WBS_ControlItemAndCycle; if (!string.IsNullOrEmpty(projectId) && "undefined" != projectId) { q = q.Where(e => e.ProjectId == projectId); } if (!string.IsNullOrEmpty(unitWorkId) && "undefined" != unitWorkId) { q = q.Where(e => e.UnitWorkId.Contains(unitWorkId)); } if (!string.IsNullOrEmpty(ControlItemContent) && "undefined" != ControlItemContent) { q = q.Where(e => e.ControlItemContent.Contains(ControlItemContent)); } //if (!string.IsNullOrEmpty(ControlPoint) && "undefined" != ControlPoint) //{ // q = q.Where(e => e.ControlPoint.Contains(ControlPoint)); //} if (!string.IsNullOrEmpty(ControlPoint) && "undefined" != ControlPoint) { if (ControlPoint.ToString().Contains(",")) { string[] strArray = ControlPoint.Split(','); q = q.Where(e => strArray.Contains(e.ControlPoint)); } else { q = q.Where(e => e.ControlPoint.IndexOf(ControlPoint)>=0); } } if (!string.IsNullOrEmpty(ControlItemDef) && "undefined" != ControlItemDef) { q = q.Where(e => e.ControlItemDef.Contains(ControlItemDef)); } if (!string.IsNullOrEmpty(HGForms) && "undefined" != HGForms) { q = q.Where(e => e.HGForms.Contains(HGForms) || e.SHForms.Contains(HGForms)); } q = q.Where(e => e.IsApprove == true); var qres = from x in q select new { x.ControlItemAndCycleId, x.UnitWorkId, UnitWorkName = BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId), x.ControlItemContent, x.ProjectId, x.ControlPoint, x.Weights, x.ControlItemDef, x.HGFormsJZ, x.HGForms, x.SHForms, x.Standard, x.CheckNum }; List res = new List(); var list = qres.Skip(index * page).Take(page).ToList(); foreach (var item in list) { Model.View_WBS_ControlItemAndCycle tc = new Model.View_WBS_ControlItemAndCycle(); tc.ControlItemAndCycleId = item.ControlItemAndCycleId; tc.ProjectId = item.ProjectId; tc.UnitWorkId = item.UnitWorkId + "$" + item.UnitWorkName; tc.ControlItemContent = item.ControlItemContent; tc.ControlPoint = item.ControlPoint; tc.Weights = item.Weights; tc.ControlItemDef = item.ControlItemDef; tc.HGFormsJZ = item.HGFormsJZ; tc.HGForms = item.HGForms; tc.SHForms = item.SHForms; tc.Standard = item.Standard; tc.CheckNum = item.CheckNum; res.Add(tc); } return res; } } /// /// 根据编号获取明细 /// /// public static Model.WBS_ControlItemInit GetControlItemInitByCode(string controlItemCode) { return Funs.DB.WBS_ControlItemInit.FirstOrDefault(e => e.ControlItemCode == controlItemCode); } /// /// 添加 /// /// public static void AddControlItemInit(Model.WBS_ControlItemInit controlItem) { Model.SGGLDB db = Funs.DB; Model.WBS_ControlItemInit newControlItem = new Model.WBS_ControlItemInit(); newControlItem.ControlItemCode = controlItem.ControlItemCode; newControlItem.WorkPackageCode = controlItem.WorkPackageCode; newControlItem.ControlItemContent = controlItem.ControlItemContent; newControlItem.ControlPoint = controlItem.ControlPoint; newControlItem.ControlItemDef = controlItem.ControlItemDef; newControlItem.Weights = controlItem.Weights; newControlItem.HGForms = controlItem.HGForms; newControlItem.SHForms = controlItem.SHForms; newControlItem.Standard = controlItem.Standard; newControlItem.ClauseNo = controlItem.ClauseNo; db.WBS_ControlItemInit.InsertOnSubmit(newControlItem); db.SubmitChanges(); } /// /// 修改 /// /// public static void UpdateControlItemInit(Model.WBS_ControlItemInit controlItem) { Model.SGGLDB db = Funs.DB; Model.WBS_ControlItemInit newControlItem = db.WBS_ControlItemInit.First(e => e.ControlItemCode == controlItem.ControlItemCode); newControlItem.WorkPackageCode = controlItem.WorkPackageCode; newControlItem.ControlItemContent = controlItem.ControlItemContent; newControlItem.ControlPoint = controlItem.ControlPoint; newControlItem.ControlItemDef = controlItem.ControlItemDef; newControlItem.Weights = controlItem.Weights; newControlItem.HGForms = controlItem.HGForms; newControlItem.SHForms = controlItem.SHForms; newControlItem.Standard = controlItem.Standard; newControlItem.ClauseNo = controlItem.ClauseNo; db.SubmitChanges(); } /// /// 根据编号删除信息 /// /// public static void DeleteControlItemInit(string controlItemCode) { Model.SGGLDB db = Funs.DB; Model.WBS_ControlItemInit controlItem = db.WBS_ControlItemInit.First(e => e.ControlItemCode == controlItemCode); db.WBS_ControlItemInit.DeleteOnSubmit(controlItem); db.SubmitChanges(); } /// /// 根据工作包编号删除所有明细信息 /// /// public static void DeleteAllControlItemInit(string workPackageCode) { Model.SGGLDB db = Funs.DB; List q = (from x in db.WBS_ControlItemInit where x.WorkPackageCode == workPackageCode orderby x.ControlItemCode select x).ToList(); db.WBS_ControlItemInit.DeleteAllOnSubmit(q); db.SubmitChanges(); } /// /// 是否存在工作包 /// /// /// true-存在,false-不存在 public static bool IsExistControlItemInitName(string workPackageCode, string controlItemContent, string controlItemCode) { var q = from x in Funs.DB.WBS_ControlItemInit where x.WorkPackageCode == workPackageCode && x.ControlItemContent == controlItemContent && x.ControlItemCode != controlItemCode select x; if (q.Count() > 0) { return true; } else { return false; } } } }