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;
 | 
						||
        }
 | 
						||
    }
 | 
						||
} |