180 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			180 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI.WebControls;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace BLL
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 费用管理明细
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public static class CostManageItemService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        public static Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据主键删除费用管理明细
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageItemId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static Model.CostGoods_CostManageItem GetCostManageItemById(string costManageItemId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return Funs.DB.CostGoods_CostManageItem.FirstOrDefault(e => e.CostManageItemId == costManageItemId);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据费用管理主键获取所有相关明细信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.CostGoods_CostManageItem> GetCostManageItemByCostManageId(string costManageId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return (from x in Funs.DB.CostGoods_CostManageItem where x.CostManageId == costManageId select x).ToList();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据项目Id,单位Id和月份获取安全费用管理明细
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.CostGoods_CostManageItem> GetCostManageItemByUnitIdAndDate(string projectId, string unidId, DateTime date)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return (from x in Funs.DB.CostGoods_CostManageItem
							 | 
						|||
| 
								 | 
							
								                    join y in Funs.DB.CostGoods_CostManage
							 | 
						|||
| 
								 | 
							
								                    on x.CostManageId equals y.CostManageId
							 | 
						|||
| 
								 | 
							
								                    where y.ProjectId == projectId && y.UnitId == unidId
							 | 
						|||
| 
								 | 
							
								                    && y.CostManageDate.Value.Year == date.Year && y.CostManageDate.Value.Month == date.Month
							 | 
						|||
| 
								 | 
							
								                    select x).ToList();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 添加费用管理明细
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageItem"></param>
							 | 
						|||
| 
								 | 
							
								        public static void AddCostManageItem(Model.CostGoods_CostManageItem costManageItem)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.CostGoods_CostManageItem newCostManageItem = new Model.CostGoods_CostManageItem
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                CostManageItemId = costManageItem.CostManageItemId,
							 | 
						|||
| 
								 | 
							
								                CostManageId = costManageItem.CostManageId,
							 | 
						|||
| 
								 | 
							
								                InvestCostProject = costManageItem.InvestCostProject,
							 | 
						|||
| 
								 | 
							
								                UseReason = costManageItem.UseReason,
							 | 
						|||
| 
								 | 
							
								                Counts = costManageItem.Counts,
							 | 
						|||
| 
								 | 
							
								                PriceMoney = costManageItem.PriceMoney,
							 | 
						|||
| 
								 | 
							
								                AuditCounts = costManageItem.AuditCounts,
							 | 
						|||
| 
								 | 
							
								                AuditPriceMoney = costManageItem.AuditPriceMoney,
							 | 
						|||
| 
								 | 
							
								                Remark = costManageItem.Remark
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								            db.CostGoods_CostManageItem.InsertOnSubmit(newCostManageItem);
							 | 
						|||
| 
								 | 
							
								            db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 修改费用管理明细
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageItem"></param>
							 | 
						|||
| 
								 | 
							
								        public static void UpdateCostManageItem(Model.CostGoods_CostManageItem costManageItem)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.CostGoods_CostManageItem newCostManageItem = db.CostGoods_CostManageItem.FirstOrDefault(e => e.CostManageItemId == costManageItem.CostManageItemId);
							 | 
						|||
| 
								 | 
							
								            if (newCostManageItem != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.CostManageId = costManageItem.CostManageId;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.InvestCostProject = costManageItem.InvestCostProject;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.UseReason = costManageItem.UseReason;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.Counts = costManageItem.Counts;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.PriceMoney = costManageItem.PriceMoney;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.AuditCounts = costManageItem.AuditCounts;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.AuditPriceMoney = costManageItem.AuditPriceMoney;
							 | 
						|||
| 
								 | 
							
								                newCostManageItem.Remark = costManageItem.Remark;
							 | 
						|||
| 
								 | 
							
								                db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据费用管理主键删除所有相关明细信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageId"></param>
							 | 
						|||
| 
								 | 
							
								        public static void DeleteCostManageItemByCostManageId(string costManageId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            var q = (from x in db.CostGoods_CostManageItem where x.CostManageId == costManageId select x).ToList();
							 | 
						|||
| 
								 | 
							
								            if (q != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                db.CostGoods_CostManageItem.DeleteAllOnSubmit(q);
							 | 
						|||
| 
								 | 
							
								                db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据主键删除费用管理信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="costManageItemId"></param>
							 | 
						|||
| 
								 | 
							
								        public static void DeleteCostManageItemById(string costManageItemId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            Model.CostGoods_CostManageItem costManageItem = db.CostGoods_CostManageItem.FirstOrDefault(e => e.CostManageItemId == costManageItemId);
							 | 
						|||
| 
								 | 
							
								            if (costManageItem != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                db.CostGoods_CostManageItem.DeleteOnSubmit(costManageItem);
							 | 
						|||
| 
								 | 
							
								                db.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 投入费用项目下拉框内容
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static ListItem[] GetInvestCostProjectList()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            ListItem[] lis = new ListItem[29];
							 | 
						|||
| 
								 | 
							
								            lis[0] = new ListItem("内业管理", "内业管理");
							 | 
						|||
| 
								 | 
							
								            lis[1] = new ListItem("检测器材", "检测器材");
							 | 
						|||
| 
								 | 
							
								            lis[2] = new ListItem("警示警戒", "警示警戒");
							 | 
						|||
| 
								 | 
							
								            lis[3] = new ListItem("安全奖励", "安全奖励");
							 | 
						|||
| 
								 | 
							
								            lis[4] = new ListItem("其他", "其他");
							 | 
						|||
| 
								 | 
							
								            lis[5] = new ListItem("安全技术", "安全技术");
							 | 
						|||
| 
								 | 
							
								            lis[6] = new ListItem("工业卫生", "工业卫生");
							 | 
						|||
| 
								 | 
							
								            lis[7] = new ListItem("安全用电", "安全用电");
							 | 
						|||
| 
								 | 
							
								            lis[8] = new ListItem("高处作业及基坑", "高处作业及基坑");
							 | 
						|||
| 
								 | 
							
								            lis[9] = new ListItem("临边洞口防护", "临边洞口防护");
							 | 
						|||
| 
								 | 
							
								            lis[10] = new ListItem("受限空间内作业", "受限空间内作业");
							 | 
						|||
| 
								 | 
							
								            lis[11] = new ListItem("动火作业", "动火作业");
							 | 
						|||
| 
								 | 
							
								            lis[12] = new ListItem("机械装备防护", "机械装备防护");
							 | 
						|||
| 
								 | 
							
								            lis[13] = new ListItem("吊装运输和起重", "吊装运输和起重");
							 | 
						|||
| 
								 | 
							
								            lis[14] = new ListItem("硼砂作业", "硼砂作业");
							 | 
						|||
| 
								 | 
							
								            lis[15] = new ListItem("拆除工程", "拆除工程");
							 | 
						|||
| 
								 | 
							
								            lis[16] = new ListItem("试压试车与有害介质作业", "试压试车与有害介质作业");
							 | 
						|||
| 
								 | 
							
								            lis[17] = new ListItem("特种作业防护", "特种作业防护");
							 | 
						|||
| 
								 | 
							
								            lis[18] = new ListItem("应急管理", "应急管理");
							 | 
						|||
| 
								 | 
							
								            lis[19] = new ListItem("非常措施", "非常措施");
							 | 
						|||
| 
								 | 
							
								            lis[20] = new ListItem("其他安全措施", "其他安全措施");
							 | 
						|||
| 
								 | 
							
								            lis[21] = new ListItem("装置区封闭管理", "装置区封闭管理");
							 | 
						|||
| 
								 | 
							
								            lis[22] = new ListItem("防爆施工器具", "防爆施工器具");
							 | 
						|||
| 
								 | 
							
								            lis[23] = new ListItem("标识标签与锁定", "标识标签与锁定");
							 | 
						|||
| 
								 | 
							
								            lis[24] = new ListItem("关键场所封闭", "关键场所封闭");
							 | 
						|||
| 
								 | 
							
								            lis[25] = new ListItem("催化剂加装还原", "催化剂加装还原");
							 | 
						|||
| 
								 | 
							
								            lis[26] = new ListItem("联动和化工试车", "联动和化工试车");
							 | 
						|||
| 
								 | 
							
								            lis[27] = new ListItem("教育培训", "教育培训");
							 | 
						|||
| 
								 | 
							
								            lis[28] = new ListItem("防护控制和排放", "防护控制和排放");
							 | 
						|||
| 
								 | 
							
								            return lis;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static decimal? GetCostsByUnitId(string unitId, DateTime startTime, DateTime endTime)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								            var q = (from x in db.CostGoods_CostManageItem
							 | 
						|||
| 
								 | 
							
								                         join y in db.CostGoods_CostManage
							 | 
						|||
| 
								 | 
							
								                         on x.CostManageId equals y.CostManageId
							 | 
						|||
| 
								 | 
							
								                         where y.UnitId == unitId && y.States == BLL.Const.State_2 && y.CostManageDate >= startTime && y.CostManageDate < endTime
							 | 
						|||
| 
								 | 
							
								                         select x).ToList();
							 | 
						|||
| 
								 | 
							
								                if (q.Count > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return q.Sum(e => (e.AuditCounts * e.AuditPriceMoney));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return null;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |