示例#1
0
        /// <summary>
        /// 校验代码名称是否重复
        /// </summary>
        public bool CheckCodeName(string name, long cateId, long id = 0)
        {
            d_cost_code thisCode = GetCodeByName(name, cateId);

            if (thisCode != null && thisCode.id != id)
            {
                return(false);
            }
            return(true);
        }
示例#2
0
        public bool DeleteCode(long codeId, long userId)
        {
            if (!DeleteCodeCheck(codeId))
            {
                return(false);
            }
            d_cost_code thisCode = GetCodeById(codeId);

            _dal.SoftDelete(thisCode, userId);
            OperLogBLL.OperLogDelete <d_cost_code>(thisCode, thisCode.id, userId, OPER_LOG_OBJ_CATE.D_COST_CODE, "");
            return(true);
        }
示例#3
0
        /// <summary>
        /// 批量更改 计费代码的税种
        /// </summary>
        public void ChangeCodeTaxCate(string codeIds, int taxCateId, long userId)
        {
            List <d_cost_code> oldCodeList = GetCodeByTaxCate(taxCateId);

            if (oldCodeList != null && oldCodeList.Count > 0)
            {
                if (!string.IsNullOrEmpty(codeIds))
                {
                    string[] codeIdArr = codeIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (var codeId in codeIdArr)
                    {
                        d_cost_code thisCode = oldCodeList.FirstOrDefault(_ => _.id.ToString() == codeId);
                        if (thisCode != null)
                        {
                            oldCodeList.Remove(thisCode);
                        }
                        else
                        {
                            d_cost_code code = GetCodeById(long.Parse(codeId));
                            if (code != null)
                            {
                                code.tax_category_id = taxCateId;
                                EditCode(code, userId);
                            }
                        }
                    }
                }
                if (oldCodeList.Count > 0)
                {
                    oldCodeList.ForEach(_ => {
                        _.tax_category_id = null;
                        EditCode(_, userId);
                    });
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(codeIds))
                {
                    string[] codeIdArr = codeIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (var codeId in codeIdArr)
                    {
                        d_cost_code thisCode = GetCodeById(long.Parse(codeId));
                        if (thisCode != null)
                        {
                            thisCode.tax_category_id = taxCateId;
                            EditCode(thisCode, userId);
                        }
                    }
                }
            }
        }
示例#4
0
        protected void save_close_Click(object sender, EventArgs e)
        {
            d_cost_code param  = GetParam();
            bool        result = false;

            if (isAdd)
            {
                result = codeBll.AddCode(param, LoginUserId);
            }
            else
            {
                result = codeBll.EditCode(param, LoginUserId);
            }

            ClientScript.RegisterStartupScript(this.GetType(), "提示信息", $"<script>alert('保存{(result ? "成功" : "失败")}!');self.opener.location.reload();window.close();</script>");
        }
示例#5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var thisSet = setBll.GetSetById(SysSettingEnum.MILEAGE_KILOMETRAGE_DEFAULTS);

            if (thisSet != null && !string.IsNullOrEmpty(thisSet.setting_value))
            {
                dto = new Tools.Serialize().DeserializeJson <MileageDefaultsDto>(thisSet.setting_value);
            }
            if (dto == null)
            {
                dto = new MileageDefaultsDto();
            }
            if (dto.costCodeId != null)
            {
                thisCode = new CostCodeBLL().GetCodeById((long)dto.costCodeId);
            }
        }
示例#6
0
        /// <summary>
        /// 编辑物料代码
        /// </summary>
        public bool EditCode(d_cost_code code, long userId)
        {
            d_cost_code oldCode = GetCodeById(code.id);

            if (oldCode == null)
            {
                return(false);
            }
            if (!CheckCodeName(code.name, code.cate_id, code.id))
            {
                return(false);
            }
            code.update_time    = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now);
            code.update_user_id = userId;
            _dal.Update(code);
            OperLogBLL.OperLogUpdate <d_cost_code>(code, oldCode, code.id, userId, OPER_LOG_OBJ_CATE.D_COST_CODE, "");
            return(true);
        }
示例#7
0
        public bool AddCode(d_cost_code code, long userId)
        {
            // code.id
            if (!CheckCodeName(code.name, code.cate_id))
            {
                return(false);
            }
            code.id             = _dal.GetNextIdCom();
            code.create_time    = code.update_time = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Now);
            code.create_user_id = code.update_user_id = userId;

            _dal.Insert(code);
            OperLogBLL.OperLogAdd <d_cost_code>(code, code.id, userId, OPER_LOG_OBJ_CATE.D_COST_CODE, "");
            if (code.cate_id == (int)DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
            {
                AddInterCodeTask(code, userId);
            }
            return(true);
        }
示例#8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                var id = Request.QueryString["id"];
                if (!string.IsNullOrEmpty(id))
                {
                    thisEntry = new sdk_work_entry_dal().FindNoDeleteById(long.Parse(id));
                }
                if (thisEntry == null)
                {
                    Response.End();
                }
                else
                {
                    if (thisEntry.cost_code_id != null)
                    {
                        thisCost = new d_cost_code_dal().FindNoDeleteById((long)thisEntry.cost_code_id);
                        thisRate = new ContractRateBLL().GetRateByCodeAndRole((long)thisEntry.cost_code_id, (long)thisEntry.role_id);
                    }
                    thisTask = new sdk_task_dal().FindNoDeleteById(thisEntry.task_id);

                    if (thisTask != null && thisTask.project_id != null)
                    {
                        thisProject = new pro_project_dal().FindNoDeleteById((long)thisTask.project_id);
                        if (thisProject != null)
                        {
                            thisAccount = new CompanyBLL().GetCompany(thisProject.account_id);
                        }
                    }
                    if (thisEntry.contract_id != null)
                    {
                        thisContract = new ctt_contract_dal().FindNoDeleteById((long)thisEntry.contract_id);
                    }
                }
            }
            catch (Exception)
            {
                Response.End();
            }
        }
示例#9
0
        /// <summary>
        /// 新增内部工时的时候新增Task
        /// </summary>
        public bool AddInterCodeTask(d_cost_code code, long userId)
        {
            if (code.cate_id != (int)DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
            {
                return(false);
            }
            var task = new TicketBLL().GetTask(code.id);

            if (task != null)
            {
                var oldCode = GetCodeById(code.id);
                code.id = _dal.GetNextIdCom();
                _dal.Update(code);
                OperLogBLL.OperLogUpdate <d_cost_code>(code, oldCode, code.id, userId, OPER_LOG_OBJ_CATE.D_COST_CODE, "");
                AddInterCodeTask(code, userId);
            }
            else
            {
                task = new sdk_task()
                {
                    id                 = code.id,
                    create_time        = Tools.Date.DateHelper.ToUniversalTimeStamp(),
                    update_time        = Tools.Date.DateHelper.ToUniversalTimeStamp(),
                    create_user_id     = userId,
                    update_user_id     = userId,
                    account_id         = 0,
                    title              = code.name,
                    no                 = new TaskBLL().ReturnTaskNo(),
                    status_id          = (int)DicEnum.TICKET_STATUS.NEW,
                    type_id            = (int)TASK_TYPE.INTERNAL_ALLOCATION_CODE,
                    last_activity_time = Tools.Date.DateHelper.ToUniversalTimeStamp(),
                };
                new sdk_task_dal().Insert(task);
                OperLogBLL.OperLogAdd <sdk_task>(task, task.id, userId, OPER_LOG_OBJ_CATE.PROJECT_TASK, "");
            }
            return(true);
        }
示例#10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["cateId"]))
            {
                int.TryParse(Request.QueryString["cateId"], out cateId);
            }
            long id = 0;

            if (!string.IsNullOrEmpty(Request.QueryString["id"]) && long.TryParse(Request.QueryString["id"], out id))
            {
                code = codeBll.GetCodeById(id);
            }
            if (code != null)
            {
                isAdd    = false;
                cateId   = code.cate_id;
                ruleList = codeBll.GetRuleListByCodeId(code.id);
            }
            if (cateId == 0)
            {
                Response.Write("<script>alert('未获取到相关种类!');window.close();</script>");
            }
            cateGeneral = new GeneralBLL().GetSingleGeneral(cateId);
        }
示例#11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            long id = 0;

            if (!string.IsNullOrEmpty(Request.QueryString["id"]) && long.TryParse(Request.QueryString["id"], out id))
            {
                codeRule = codeBll.GetCodeRuleById(id);
            }
            long codeId = 0;

            if (!string.IsNullOrEmpty(Request.QueryString["codeId"]) && long.TryParse(Request.QueryString["codeId"], out codeId))
            {
                code = codeBll.GetCodeById(codeId);
            }
            if (codeRule != null)
            {
                isAdd = false;
                code  = codeBll.GetCodeById(codeRule.cost_code_id);
            }
            if (code == null)
            {
                Response.Write("<script>alert('未获取到物料代码信息!');window.close();</script>");
            }
        }
示例#12
0
        /// <summary>
        /// 工作类型用,为全部的未过期的合同,添加一个例外因素
        /// </summary>
        public bool ExcludeContract(long codeId, long userId)
        {
            d_cost_code workType = GetCodeById(codeId);

            if (workType.cate_id != (int)DicEnum.COST_CODE_CATE.GENERAL_ALLOCATION_CODE)
            {
                return(false);
            }
            List <ctt_contract> conList = _dal.FindListBySql <ctt_contract>($"SELECT * from ctt_contract where delete_time = 0 and status_id =1 and start_date<='{DateTime.Now.ToString("yyyy-MM-dd")}' and end_date >='{DateTime.Now.ToString("yyyy-MM-dd")}'");

            if (conList != null && conList.Count > 0)
            {
                ctt_contract_exclusion_cost_code_dal cceccDal = new ctt_contract_exclusion_cost_code_dal();
                long timeNow = Tools.Date.DateHelper.ToUniversalTimeStamp();
                foreach (var con in conList)
                {
                    var thisExcCode = cceccDal.GetSinCode(con.id, codeId);
                    if (thisExcCode == null)
                    {
                        thisExcCode = new ctt_contract_exclusion_cost_code()
                        {
                            id             = cceccDal.GetNextIdCom(),
                            contract_id    = con.id,
                            cost_code_id   = codeId,
                            create_time    = timeNow,
                            update_time    = timeNow,
                            create_user_id = userId,
                            update_user_id = userId,
                        };
                        cceccDal.Insert(thisExcCode);
                        OperLogBLL.OperLogAdd <ctt_contract_exclusion_cost_code>(thisExcCode, thisExcCode.id, userId, OPER_LOG_OBJ_CATE.CONTRACT_EXCLUSTION_COST, "");
                    }
                }
            }
            return(true);
        }
示例#13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                var cost_id     = Request.QueryString["id"];
                var contract_id = Request.QueryString["contract_id"];
                var project_id  = Request.QueryString["project_id"];
                var task_id     = Request.QueryString["task_id"];
                var ticket_id   = Request.QueryString["ticket_id"];
                var costCodeId  = Request.QueryString["cost_code_id"];
                if (!string.IsNullOrEmpty(costCodeId))
                {
                    costCode = new d_cost_code_dal().FindNoDeleteById(long.Parse(costCodeId));
                }

                #region  拉框赋值
                cost_type_id.DataTextField  = "show";
                cost_type_id.DataValueField = "val";
                cost_type_id.DataSource     = dic.FirstOrDefault(_ => _.Key == "chargeType").Value;
                cost_type_id.DataBind();
                cost_type_id.Items.Insert(0, new ListItem()
                {
                    Value = "0", Text = "   ", Selected = true
                });
                cost_type_id.SelectedValue = ((int)DicEnum.COST_TYPE.OPERATIONA).ToString();

                // status_id
                status_id.DataTextField  = "show";
                status_id.DataValueField = "val";
                var statuList = dic.FirstOrDefault(_ => _.Key == "chargeStatus").Value as List <DictionaryEntryDto>;

                #endregion
                if (!string.IsNullOrEmpty(contract_id))
                {
                    contract = new ctt_contract_dal().FindNoDeleteById(long.Parse(contract_id));
                    if (contract != null)
                    {
                        if (!IsPostBack)
                        {
                            isbillable.Checked = true;
                        }
                    }
                }
                if (!string.IsNullOrEmpty(cost_id))
                {
                    conCost = new ctt_contract_cost_dal().FindNoDeleteById(long.Parse(cost_id));
                    if (conCost != null)
                    {
                        isAdd    = false;
                        costCode = new d_cost_code_dal().FindNoDeleteById(conCost.cost_code_id);

                        cost_type_id.SelectedValue = conCost.cost_type_id == null ? ((int)DicEnum.COST_TYPE.OPERATIONA).ToString() : conCost.cost_type_id.ToString();
                        if (!IsPostBack)
                        {
                            status_id.SelectedValue = conCost.status_id.ToString();
                        }


                        if (conCost.contract_id != null)
                        {
                            contract = new ctt_contract_dal().FindNoDeleteById((long)conCost.contract_id);
                        }
                        if (conCost.project_id != null)
                        {
                            thisProject = new pro_project_dal().FindNoDeleteById((long)conCost.project_id);
                        }
                        if (conCost.task_id != null)
                        {
                            thisTask = new sdk_task_dal().FindNoDeleteById((long)conCost.task_id);
                            if (thisTask.type_id == (int)DicEnum.TASK_TYPE.SERVICE_DESK_TICKET)
                            {
                                thisTask   = null;
                                thisTicket = new sdk_task_dal().FindNoDeleteById((long)conCost.task_id);
                            }
                        }

                        if (!IsPostBack)
                        {
                            isbillable.Checked    = conCost.is_billable == 1;
                            AddConfigItem.Checked = conCost.create_ci == 1;
                        }

                        if (conCost.status_id == (int)DicEnum.COST_STATUS.UNDETERMINED)
                        {
                            statuList = statuList.Where(_ => _.val == (conCost.status_id).ToString() || _.val == ((int)DicEnum.COST_STATUS.PENDING_PURCHASE).ToString() || _.val == ((int)DicEnum.COST_STATUS.CANCELED).ToString()).ToList();
                        }
                        else if (conCost.status_id == (int)DicEnum.COST_STATUS.CANCELED)
                        {
                            statuList = statuList.Where(_ => _.val == (conCost.status_id).ToString() || _.val == ((int)DicEnum.COST_STATUS.PENDING_PURCHASE).ToString() || _.val == ((int)DicEnum.COST_STATUS.CANCELED).ToString()).ToList();
                        }
                        else
                        {
                            statuList = statuList.Where(_ => _.val == (conCost.status_id).ToString() || _.val == ((int)DicEnum.COST_STATUS.CANCELED).ToString()).ToList();
                        }
                    }
                }
                if (!string.IsNullOrEmpty(project_id))
                {
                    thisProject = new pro_project_dal().FindNoDeleteById(long.Parse(project_id));
                }
                if (!string.IsNullOrEmpty(task_id))
                {
                    thisTask = new sdk_task_dal().FindNoDeleteById(long.Parse(task_id));
                    if (thisTask != null && thisTask.project_id != null)
                    {
                        thisProject = new pro_project_dal().FindNoDeleteById((long)thisTask.project_id);
                    }
                }
                if (!string.IsNullOrEmpty(ticket_id))
                {
                    thisTicket = new sdk_task_dal().FindNoDeleteById(long.Parse(ticket_id));
                }
                if (thisTicket != null)
                {
                    thisAccount = new CompanyBLL().GetCompany(thisTicket.account_id);
                }

                status_id.DataSource = statuList;
                status_id.DataBind();
                //status_id.Items.Insert(0, new ListItem() { Value = "0", Text = "   ", Selected = true });
                if (!IsPostBack)
                {
                    if (isAdd)
                    {
                        status_id.SelectedValue = ((int)DicEnum.COST_STATUS.PENDING_DELIVERY).ToString();
                    }
                }
            }
            catch (Exception msg)
            {
                Response.End();
            }
        }
示例#14
0
        protected d_cost_code GetParam()
        {
            d_cost_code pageCode = AssembleModel <d_cost_code>();

            pageCode.cate_id = cateId;
            if (!string.IsNullOrEmpty(Request.Form["isActive"]) && Request.Form["isActive"] == "on")
            {
                pageCode.is_active = 1;
            }
            else
            {
                pageCode.is_active = 0;
            }
            if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
            {
                pageCode.is_active = 1;
            }


            if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.GENERAL_ALLOCATION_CODE)
            {
                #region 角色费率相关,计费方式
                var rateType = Request.Form["RateTypeGroup"];
                if (rateType == "rdRole")
                {
                    pageCode.billing_method_id = (int)DicEnum.WORKTYPE_BILLING_METHOD.USE_ROLE_RATE;
                }
                else if (rateType == "rdAdjust")
                {
                    pageCode.billing_method_id = (int)DicEnum.WORKTYPE_BILLING_METHOD.FLOAT_ROLE_RATE;
                    if (!string.IsNullOrEmpty(Request.Form["txtAdjust"]))
                    {
                        pageCode.rate_adjustment = decimal.Parse(Request.Form["txtAdjust"]);
                    }
                }
                else if (rateType == "rdMulti")
                {
                    pageCode.billing_method_id = (int)DicEnum.WORKTYPE_BILLING_METHOD.RIDE_ROLE_RATE;
                    if (!string.IsNullOrEmpty(Request.Form["txtMulti"]))
                    {
                        pageCode.rate_multiplier = decimal.Parse(Request.Form["txtMulti"]);
                    }
                }
                else if (rateType == "rdUdf")
                {
                    pageCode.billing_method_id = (int)DicEnum.WORKTYPE_BILLING_METHOD.USE_UDF_ROLE_RATE;
                    if (!string.IsNullOrEmpty(Request.Form["txtUdf"]))
                    {
                        pageCode.custom_rate = decimal.Parse(Request.Form["txtUdf"]);
                    }
                }
                else if (rateType == "rdFix")
                {
                    pageCode.billing_method_id = (int)DicEnum.WORKTYPE_BILLING_METHOD.BY_TIMES;
                    if (!string.IsNullOrEmpty(Request.Form["txtrdFix"]))
                    {
                        pageCode.flat_rate = decimal.Parse(Request.Form["txtrdFix"]);
                    }
                }

                if (!string.IsNullOrEmpty(Request.Form["ckLess"]) && Request.Form["ckLess"] == "rdLess" && !string.IsNullOrEmpty(Request.Form["txtLess"]))
                {
                    pageCode.min_hours = decimal.Parse(Request.Form["txtLess"]);
                }
                if (!string.IsNullOrEmpty(Request.Form["ckMore"]) && Request.Form["ckMore"] == "rdMore" && !string.IsNullOrEmpty(Request.Form["txtMore"]))
                {
                    pageCode.max_hours = decimal.Parse(Request.Form["txtMore"]);
                }

                var billType = Request.Form["BillTypeGroup"];
                if (billType == "rdNoBillNoShow")
                {
                    pageCode.show_on_invoice = (int)DicEnum.SHOW_ON_INVOICE.NO_SHOW_ONINCOICE;
                }
                else if (billType == "rdNoBillShow")
                {
                    pageCode.show_on_invoice = (int)DicEnum.SHOW_ON_INVOICE.SHOW_DISBILLED;
                }
                else if (billType == "rdBill")
                {
                    pageCode.show_on_invoice = (int)DicEnum.SHOW_ON_INVOICE.BILLED;
                }
                #endregion
                if (!string.IsNullOrEmpty(Request.Form["isIncludeContract"]) && Request.Form["isIncludeContract"] == "on")
                {
                    pageCode.excluded_new_contract = 1;
                }
                else
                {
                    pageCode.excluded_new_contract = 0;
                }
            }
            else if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.MATERIAL_COST_CODE)
            {
                if (!string.IsNullOrEmpty(Request.Form["isQuickAddCharge"]) && Request.Form["isQuickAddCharge"] == "on")
                {
                    pageCode.is_quick_cost = 1;
                }
                else
                {
                    pageCode.is_quick_cost = 0;
                }
            }
            else if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
            {
                if (!string.IsNullOrEmpty(Request.Form["isTimeOff"]) && Request.Form["isTimeOff"] == "on")
                {
                    pageCode.is_timeoff = 1;
                }
                else
                {
                    pageCode.is_timeoff = 0;
                }

                if (!string.IsNullOrEmpty(Request.Form["isRegTime"]) && Request.Form["isRegTime"] == "on")
                {
                    pageCode.is_regular_time = 1;
                }
                else
                {
                    pageCode.is_regular_time = 0;
                }
            }

            if (!isAdd)
            {
                code.name              = pageCode.name;
                code.is_active         = pageCode.is_active;
                code.external_id       = pageCode.external_id;
                code.general_ledger_id = pageCode.general_ledger_id;
                if (cateId != (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
                {
                    code.tax_category_id = pageCode.tax_category_id;
                }
                if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.GENERAL_ALLOCATION_CODE)
                {
                    code.billing_method_id     = pageCode.billing_method_id;
                    code.rate_adjustment       = pageCode.rate_adjustment;
                    code.rate_multiplier       = pageCode.rate_multiplier;
                    code.custom_rate           = pageCode.custom_rate;
                    code.flat_rate             = pageCode.flat_rate;
                    code.min_hours             = pageCode.min_hours;
                    code.max_hours             = pageCode.max_hours;
                    code.show_on_invoice       = pageCode.show_on_invoice;
                    code.department_id         = pageCode.department_id;
                    code.excluded_new_contract = pageCode.excluded_new_contract;
                }
                else if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.MATERIAL_COST_CODE)
                {
                    code.is_quick_cost = pageCode.is_quick_cost;
                    code.unit_cost     = pageCode.unit_cost;
                    code.unit_price    = pageCode.unit_price;
                }
                else if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.INTERNAL_ALLOCATION_CODE)
                {
                    code.is_timeoff      = pageCode.is_timeoff;
                    code.is_regular_time = pageCode.is_regular_time;
                }
                else if (cateId == (int)EMT.DoneNOW.DTO.DicEnum.COST_CODE_CATE.EXPENSE_CATEGORY)
                {
                    code.expense_type_id = pageCode.expense_type_id;
                }
                return(code);
            }

            return(pageCode);
        }
示例#15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                var ticketIds = Request.QueryString["ticketIds"];
                var sdDal     = new sdk_task_dal();
                if (!string.IsNullOrEmpty(ticketIds))
                {
                    ticketList = sdDal.GetTicketByIds(ticketIds);
                }
                if (ticketList != null && ticketList.Count > 0)
                {
                    if (ticketList.Count == 1)
                    {
                        isSingle = true;
                    }
                    else
                    {
                        isSingle = false;
                    }
                    thisTicket = ticketList[0];
                }
                else
                {
                    Response.Write("<script>alert('未查询到相关工单信息!');window.close();</script>");
                    return;
                }
                var udfBLL = new UserDefinedFieldsBLL();
                if (thisTicket == null)
                {
                    Response.Write("<script>alert('未查询到相关工单信息!');window.close();</script>");
                }
                else
                {
                    thisAccount = new CompanyBLL().GetCompany(thisTicket.account_id);
                    thisUser    = new sys_resource_dal().FindNoDeleteById(LoginUserId);
                    #region 获取相关属性是否可以更改
                    if (ticketList.Any(_ => _.id != thisTicket.id))
                    {
                        isManyTitle = true;
                    }
                    else
                    {
                        isManyTitle = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id))
                    {
                        isManydesc = true;
                    }
                    else
                    {
                        isManydesc = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.department_id != thisTicket.department_id))
                    {
                        isManyDep = true;
                    }
                    else
                    {
                        isManyDep = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.issue_type_id != thisTicket.issue_type_id))
                    {
                        isManyissType = true;
                    }
                    else
                    {
                        isManyissType = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && (_.owner_resource_id != thisTicket.owner_resource_id && _.role_id != thisTicket.role_id)))
                    {
                        isManyPri = true;
                    }
                    else
                    {
                        isManyPri = false;
                        if (thisTicket.owner_resource_id != null && thisTicket.role_id != null)
                        {
                            thisPriRes = new sys_resource_dal().FindNoDeleteById((long)thisTicket.owner_resource_id);
                            thisRole   = new sys_role_dal().FindNoDeleteById((long)thisTicket.role_id);
                            var resDepList = new sys_resource_department_dal().GetResDepByResAndRole((long)thisTicket.owner_resource_id, (long)thisTicket.role_id);
                            if (resDepList != null && resDepList.Count > 0)
                            {
                                proResDep = resDepList[0];
                            }
                        }
                    }

                    if (ticketList.Any(_ => _.id != thisTicket.id && _.cate_id != thisTicket.cate_id))
                    {
                        isManyTicketCate = true;
                    }
                    else
                    {
                        isManyTicketCate = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.estimated_hours != thisTicket.estimated_hours))
                    {
                        isManyEstHour = true;
                    }
                    else
                    {
                        isManyEstHour = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.estimated_end_time != thisTicket.estimated_end_time))
                    {
                        isManyDueTime = true;
                    }
                    else
                    {
                        isManyDueTime = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.account_id != thisTicket.account_id))
                    {
                        isManyAccount = true;
                    }
                    else
                    {
                        isManyAccount = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.contract_id != thisTicket.contract_id))
                    {
                        isManyContract = true;
                    }
                    else
                    {
                        isManyContract = false;
                        if (thisTicket.contract_id != null)
                        {
                            thisContract = new ctt_contract_dal().FindNoDeleteById((long)thisTicket.contract_id);
                        }
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.status_id != thisTicket.status_id))
                    {
                        isManyStatus = true;
                    }
                    else
                    {
                        isManyStatus = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.service_id != thisTicket.service_id))
                    {
                        isManySerivce = true;
                    }
                    else
                    {
                        isManySerivce = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.priority_type_id != thisTicket.priority_type_id))
                    {
                        isManyPrio = true;
                    }
                    else
                    {
                        isManyPrio = false;
                    }
                    if (ticketList.Any(_ => _.id != thisTicket.id && _.cost_code_id != thisTicket.cost_code_id))
                    {
                        isManyWork = true;
                    }
                    else
                    {
                        isManyWork = false;
                        if (thisTicket.cost_code_id != null)
                        {
                            thisWorkType = new d_cost_code_dal().FindNoDeleteById((long)thisTicket.cost_code_id);
                        }
                    }

                    if (ticketList.Any(_ => _.id != thisTicket.id && _.sub_issue_type_id != thisTicket.sub_issue_type_id))
                    {
                        isManySubIssType = true;
                    }
                    else
                    {
                        isManySubIssType = false;
                    }
                    // protected bool isManyStatus;
                    #endregion

                    udfValue = udfBLL.GetUdfValue(DicEnum.UDF_CATE.TASK, thisTicket.id, udfTaskPara);
                    if (udfTaskPara != null && udfTaskPara.Count > 0)
                    {
                        foreach (var udfTask in udfTaskPara)
                        {
                            var thisValue = "";
                            if (udfValue.FirstOrDefault(_ => _.id == udfTask.id) != null)
                            {
                                thisValue = udfValue.FirstOrDefault(_ => _.id == udfTask.id).value.ToString();
                            }
                            var count = new UserDefinedFieldsBLL().GetSameValueCount(DicEnum.UDF_CATE.TASK, ticketIds, udfTask.col_name, thisValue.ToString());
                            if (count > 1 && (!isSingle))
                            {
                                udfValue.FirstOrDefault(_ => _.id == udfTask.id).value = "多个值-保持不变";
                            }
                        }
                    }

                    var otherResList = new sdk_task_resource_dal().GetTaskResByTaskId(thisTicket.id);
                    if (otherResList != null && otherResList.Count > 0)
                    {
                        foreach (var item in otherResList)
                        {
                            if (item.resource_id != null && item.role_id != null)
                            {
                                var resDepList = new sys_resource_department_dal().GetResDepByResAndRole((long)item.resource_id, (long)item.role_id);
                                if (resDepList != null && resDepList.Count > 0)
                                {
                                    ticketResIds += resDepList[0].id + ",";
                                }
                            }
                        }

                        if (ticketResIds != "")
                        {
                            ticketResIds = ticketResIds.Substring(0, ticketResIds.Length - 1);
                        }
                    }
                }

                if (IsPostBack)
                {
                    var stDal      = new sdk_task_dal();
                    var ticBll     = new TicketBLL();
                    var accBll     = new CompanyBLL();
                    var notiResIds = new System.Text.StringBuilder();
                    foreach (var tic in ticketList)
                    {
                        var ticket = stDal.FindNoDeleteById(tic.id);
                        if (ticket == null)
                        {
                            continue;
                        }
                        var user = UserInfoBLL.GetUserInfo(LoginUserId);

                        #region 获取相关参数

                        #region 标题,描述,队列,主负责人
                        var pageTitle = ticket.title;
                        if (!isManyTitle)
                        {
                            pageTitle = Request.Form["title"];
                        }
                        var pageDesc = ticket.description;
                        if (!isManydesc)
                        {
                            pageDesc = Request.Form["description"];
                        }

                        var pageDepIdString    = Request.Form["department_id"];
                        var pagePriResIdString = Request.Form["pri_res"];
                        if (string.IsNullOrEmpty(pageDepIdString) && string.IsNullOrEmpty(pagePriResIdString))
                        {
                            Response.Write("<script>alert('队列和主负责人请填写其中一项!');</script>");
                            return;
                        }
                        long?pageDepId;
                        if (!string.IsNullOrEmpty(pageDepIdString) && pageDepIdString != "0")
                        {
                            pageDepId = long.Parse(pageDepIdString);
                        }
                        else if (string.IsNullOrEmpty(pageDepIdString))
                        {
                            pageDepId = null;
                        }
                        else
                        {
                            pageDepId = ticket.department_id;
                        }

                        long?pagePriResId;
                        if (!string.IsNullOrEmpty(pagePriResIdString) && pagePriResIdString != "0")
                        {
                            pagePriResId = long.Parse(pagePriResIdString);
                        }
                        else if (string.IsNullOrEmpty(pagePriResIdString))
                        {
                            pagePriResId = null;
                        }
                        else
                        {
                            pagePriResId = ticket.owner_resource_id;
                        }
                        #endregion

                        #region 种类,预估时间,到期时间,合同名称
                        var pageCateId       = ticket.cate_id;
                        var pageCateIdString = Request.Form["ticket_cate"];
                        if (!string.IsNullOrEmpty(pageCateIdString) && pageCateIdString != "0")
                        {
                            pageCateId = int.Parse(pageCateIdString);
                        }
                        else if (string.IsNullOrEmpty(pagePriResIdString))
                        {
                            Response.Write("<script>alert('请选择工单种类!');</script>");
                            return;
                        }
                        else
                        {
                            pageCateId = ticket.cate_id;
                        }

                        var estHours     = ticket.estimated_hours;
                        var pageEstHours = Request.Form["est_hours"];
                        if (!string.IsNullOrEmpty(pageEstHours) && pageEstHours.Trim() != "多个值-保持不变")
                        {
                            estHours = decimal.Parse(pageEstHours);
                        }
                        var dueTime     = ticket.estimated_end_time;
                        var pageDueTime = Request.Form["due_time"];
                        if (!string.IsNullOrEmpty(pageDueTime) && pageDueTime.Trim() != "多个值-保持不变")
                        {
                            dueTime = Tools.Date.DateHelper.ToUniversalTimeStamp(DateTime.Parse(pageDueTime));
                        }
                        var contractName = ticket.contract_id;
                        var pageContract = Request.Form["contractName"];
                        if (!string.IsNullOrEmpty(pageContract) && pageContract != "0")
                        {
                            contractName = long.Parse(pageContract);
                        }
                        else if (string.IsNullOrEmpty(pageContract))
                        {
                            contractName = null;
                        }
                        #endregion

                        #region 状态,服务包,优先级,工作类型,问题类型,子问题类型
                        var pageStatusId        = ticket.status_id;
                        var pageStuatusIdString = Request.Form["statusId"];
                        if (!string.IsNullOrEmpty(pageStuatusIdString) && pageStuatusIdString != "0")
                        {
                            pageStatusId = int.Parse(pageStuatusIdString);
                        }
                        else if (string.IsNullOrEmpty(pageStuatusIdString))
                        {
                            Response.Write("<script>alert('请选择工单状态!');</script>");
                            return;
                        }

                        var pageServiceId       = ticket.service_id;
                        var pageServiceIdString = Request.Form["serviceId"];
                        if (!string.IsNullOrEmpty(pageServiceIdString) && pageServiceIdString != "0")
                        {
                            pageServiceId = int.Parse(pageServiceIdString);
                        }
                        else if (string.IsNullOrEmpty(pageServiceIdString))
                        {
                            pageServiceId = null;
                        }

                        var pagePrioId       = ticket.priority_type_id;
                        var pagePrioIdString = Request.Form["priorityId"];
                        if (!string.IsNullOrEmpty(pagePrioIdString) && pagePrioIdString != "0")
                        {
                            pagePrioId = int.Parse(pagePrioIdString);
                        }
                        else if (string.IsNullOrEmpty(pagePrioIdString))
                        {
                            Response.Write("<script>alert('请选择工单优先级!');</script>");
                            return;
                        }

                        var workTypeId     = ticket.cost_code_id;
                        var pageWorkTypeId = Request.Form["workTypeId"];
                        if (!string.IsNullOrEmpty(pageWorkTypeId) && pageWorkTypeId != "0")
                        {
                            workTypeId = long.Parse(pageWorkTypeId);
                        }
                        else if (string.IsNullOrEmpty(pageWorkTypeId))
                        {
                            contractName = null;
                        }

                        var pageIssId       = ticket.issue_type_id;
                        var pageIssIdString = Request.Form["IssueType"];
                        if (!string.IsNullOrEmpty(pageIssIdString) && pageIssIdString != "0")
                        {
                            pageIssId = int.Parse(pageIssIdString);
                        }
                        else if (string.IsNullOrEmpty(pageIssIdString))
                        {
                            Response.Write("<script>alert('请选择问题类型!');</script>");
                            return;
                        }

                        var pageSubIssId       = ticket.sub_issue_type_id;
                        var pageSubIssIdString = Request.Form["SubIssueType"];
                        if (!string.IsNullOrEmpty(pageSubIssIdString) && pageSubIssIdString != "0")
                        {
                            pageSubIssId = int.Parse(pageSubIssIdString);
                        }
                        else if (string.IsNullOrEmpty(pageSubIssIdString))
                        {
                            Response.Write("<script>alert('请选择子问题类型!');</script>");
                            return;
                        }
                        #endregion

                        #region 自定义字段相关
                        var thisUdfValue = udfBLL.GetUdfValue(DicEnum.UDF_CATE.TASK, tic.id, udfTaskPara);
                        if (udfTaskPara != null && udfTaskPara.Count > 0)
                        {
                            var list = new List <UserDefinedFieldValue>();
                            foreach (var udf in udfTaskPara)
                            {
                                var new_udf = new UserDefinedFieldValue()
                                {
                                    id = udf.id
                                };
                                var thisvv = Request.Form[udf.id.ToString()];
                                if (udf.data_type == (int)DicEnum.UDF_DATA_TYPE.LIST)
                                {
                                    if (thisvv == "0")
                                    {
                                        new_udf.value = thisUdfValue.FirstOrDefault(_ => _.id == udf.id) == null ? "" : thisUdfValue.FirstOrDefault(_ => _.id == udf.id).value;
                                    }
                                    else
                                    {
                                        new_udf.value = thisvv == "" ? null : thisvv;
                                    }
                                }
                                else
                                {
                                    if (thisvv == "多个值-保持不变")
                                    {
                                        new_udf.value = thisUdfValue.FirstOrDefault(_ => _.id == udf.id) == null ? "" : thisUdfValue.FirstOrDefault(_ => _.id == udf.id).value;
                                    }
                                    else
                                    {
                                        new_udf.value = thisvv == "" ? null : thisvv;
                                    }
                                }
                                list.Add(new_udf);
                            }
                            udfBLL.UpdateUdfValue(DicEnum.UDF_CATE.TASK, udfTaskPara, ticket.id, list, user, DicEnum.OPER_LOG_OBJ_CATE.PROJECT_TASK);
                        }
                        #endregion

                        #endregion

                        #region 修改工单
                        ticket.title         = pageTitle;
                        ticket.description   = pageDesc;
                        ticket.department_id = pageDepId;
                        long?roleId = null;
                        if (pagePriResId != null)
                        {
                            var resDep = new sys_resource_department_dal().FindById((long)pagePriResId);
                            if (resDep != null)
                            {
                                pagePriResId = resDep.resource_id;
                                roleId       = resDep.role_id;
                            }
                            else
                            {
                                pagePriResId = null;
                                roleId       = null;
                            }
                        }
                        ticket.owner_resource_id  = pagePriResId;
                        ticket.role_id            = roleId;
                        ticket.cate_id            = pageCateId;
                        ticket.estimated_hours    = estHours;
                        ticket.estimated_end_time = dueTime;
                        ticket.contract_id        = contractName;
                        ticket.status_id          = pageStatusId;
                        ticket.service_id         = pageServiceId;
                        ticket.priority_type_id   = pagePrioId;
                        ticket.cost_code_id       = workTypeId;
                        ticket.issue_type_id      = pageIssId;
                        ticket.sub_issue_type_id  = pageSubIssId;

                        ticBll.EditTicket(ticket, LoginUserId);
                        #endregion

                        #region 生成备注
                        ticBll.AddModifyTicketNote(ticket.id, LoginUserId);
                        #endregion


                        #region 单个工单时 修改其他员工相关
                        if (isSingle)
                        {
                            var OtherResId = Request.Form["OtherResId"];
                            ticBll.TicketResManage(ticket.id, OtherResId, LoginUserId);
                        }
                        #endregion

                        #region 获取需要发送邮件的员工的Id
                        if (CkPriRes.Checked && ticket.owner_resource_id != null)
                        {
                            notiResIds.Append(ticket.owner_resource_id + ",");
                        }
                        if (CKcreate.Checked)
                        {
                            notiResIds.Append(ticket.create_user_id + ",");
                        }
                        if (CKaccMan.Checked)
                        {
                            var thisAccount = accBll.GetCompany(ticket.account_id);
                            if (thisAccount != null && thisAccount.resource_id != null)
                            {
                                notiResIds.Append(thisAccount.resource_id + ",");
                            }
                        }
                        #endregion
                    }


                    #region 通知相关
                    if (CCMe.Checked)
                    {
                        notiResIds.Append(LoginUserId + ",");
                    }
                    var resIds = Request.Form["resIds"];
                    if (!string.IsNullOrEmpty(resIds))
                    {
                        notiResIds.Append(resIds + ",");
                    }
                    var notify_id = Request.Form["notify_id"];
                    if (!string.IsNullOrEmpty(notify_id) && notify_id != "0")
                    {
                    }
                    #endregion
                    ClientScript.RegisterStartupScript(this.GetType(), "提示信息", "<script>alert('保存成功');self.opener.location.reload();window.close();</script>");
                }
            }
            catch (Exception msg)
            {
                Response.Write("<script>alert('" + msg.Message + "!');window.close();</script>");
            }
        }
示例#16
0
        /// <summary>
        /// 是否可以删除物料代码校验
        /// </summary>
        public bool DeleteCodeCheck(long id)
        {
            d_cost_code code = GetCodeById(id);

            if (code == null)
            {
                return(true);
            }
            if (code.is_system == 1)
            {
                return(false);
            }
            // 报价项,成本,工单,产品。费用,工时
            List <crm_quote_item> quoteItem = _dal.FindListBySql <crm_quote_item>($"SELECT * from crm_quote_item where object_id ={id.ToString()} and delete_time = 0");

            if (quoteItem != null && quoteItem.Count > 0)
            {
                return(false);
            }
            List <ctt_contract_cost> costList = _dal.FindListBySql <ctt_contract_cost>($"SELECT * from ctt_contract_cost where cost_code_id ={id.ToString()} and delete_time = 0");

            if (costList != null && costList.Count > 0)
            {
                return(false);
            }
            List <sdk_task> taskList = _dal.FindListBySql <sdk_task>($"SELECT * from sdk_task where cost_code_id ={id.ToString()} and delete_time = 0");

            if (taskList != null && taskList.Count > 0)
            {
                return(false);
            }
            List <ivt_product> productList = _dal.FindListBySql <ivt_product>($"SELECT * from ivt_product where cost_code_id ={id.ToString()} and delete_time = 0");

            if (productList != null && productList.Count > 0)
            {
                return(false);
            }
            List <sdk_expense> expenList = _dal.FindListBySql <sdk_expense>($"SELECT * from sdk_expense where cost_code_id ={id.ToString()} and delete_time = 0");

            if (expenList != null && expenList.Count > 0)
            {
                return(false);
            }
            List <sdk_work_entry> entryList = _dal.FindListBySql <sdk_work_entry>($"SELECT * from sdk_work_entry where cost_code_id ={id.ToString()} and delete_time = 0");

            if (entryList != null && entryList.Count > 0)
            {
                return(false);
            }
            List <ivt_service> serviceList = _dal.FindListBySql <ivt_service>($"SELECT * from ivt_service where cost_code_id ={id.ToString()} and delete_time = 0");

            if (serviceList != null && serviceList.Count > 0)
            {
                return(false);
            }
            List <ctt_contract_milestone> milestoneList = _dal.FindListBySql <ctt_contract_milestone>($"SELECT * from ctt_contract_milestone where cost_code_id ={id.ToString()} and delete_time = 0");

            if (milestoneList != null && milestoneList.Count > 0)
            {
                return(false);
            }
            return(true);
        }
示例#17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    Bind();  // 绑定页面下拉数据
                }
                CallBack = Request.QueryString["CallBack"];

                var accountId = Request.QueryString["account_id"];
                if (!string.IsNullOrEmpty(accountId))
                {
                    thisAccount = new CompanyBLL().GetCompany(long.Parse(accountId));
                }
                var contractId = Request.QueryString["contract_id"];
                if (!string.IsNullOrEmpty(contractId))
                {
                    thisContract = new ctt_contract_dal().FindNoDeleteById(long.Parse(contractId));
                }
                var insProId = Request.QueryString["insProId"];
                if (!string.IsNullOrEmpty(insProId))
                {
                    insPro = new crm_installed_product_dal().FindNoDeleteById(long.Parse(insProId));
                    if (insPro != null && insPro.account_id != null)
                    {
                        thisAccount = new CompanyBLL().GetCompany((long)insPro.account_id);
                    }
                }

                var taskId = Request.QueryString["id"];
                if (!string.IsNullOrEmpty(taskId))
                {
                    thisTicket = new sdk_task_dal().FindNoDeleteById(long.Parse(taskId));
                    if (thisTicket != null)
                    {
                        thisBookMark = new IndexBLL().GetSingBook(Request.RawUrl, LoginUserId);
                        var isCopyString = Request.QueryString["isCopy"];
                        if (string.IsNullOrEmpty(isCopyString))
                        {
                            isAdd = false;
                        }
                        else
                        {
                            isCopy = true;
                        }
                        if (!IsPostBack)
                        {
                            cate_id.ClearSelection();
                            cate_id.SelectedValue             = thisTicket.cate_id.ToString();
                            this.ticket_type_id.SelectedValue = thisTicket.ticket_type_id.ToString();
                            this.status_id.SelectedValue      = thisTicket.status_id.ToString();
                            if (isCopy)
                            {
                                this.status_id.ClearSelection(); this.status_id.SelectedValue = ((int)DicEnum.TICKET_STATUS.NEW).ToString();
                            }
                            if (thisTicket.priority_type_id != null)
                            {
                                priority_type_id.SelectedValue = thisTicket.priority_type_id.ToString();
                            }
                            if (thisTicket.issue_type_id != null)
                            {
                                issue_type_id.SelectedValue = thisTicket.issue_type_id.ToString();
                            }
                            if (thisTicket.source_type_id != null)
                            {
                                source_type_id.SelectedValue = thisTicket.source_type_id.ToString();
                            }
                            if (thisTicket.issue_type_id != null)
                            {
                                issue_type_id.SelectedValue = thisTicket.issue_type_id.ToString();
                            }
                            if (thisTicket.sla_id != null)
                            {
                                sla_id.SelectedValue = thisTicket.sla_id.ToString();
                            }
                            if (thisTicket.department_id != null)
                            {
                                department_id.SelectedValue = thisTicket.department_id.ToString();
                            }
                        }
                        ticketUdfValueList = new UserDefinedFieldsBLL().GetUdfValue(DicEnum.UDF_CATE.TASK, thisTicket.id, tickUdfList);

                        thisAccount = new CompanyBLL().GetCompany(thisTicket.account_id);
                        if (thisTicket.contact_id != null)
                        {
                            thisContact = new crm_contact_dal().FindNoDeleteById((long)thisTicket.contact_id);
                        }

                        if (thisTicket.owner_resource_id != null && thisTicket.role_id != null)
                        {
                            var resDepList = new sys_resource_department_dal().GetResDepByResAndRole((long)thisTicket.owner_resource_id, (long)thisTicket.role_id);
                            if (resDepList != null && resDepList.Count > 0)
                            {
                                proResDep = resDepList[0];
                                priRes    = new sys_resource_dal().FindNoDeleteById((long)thisTicket.owner_resource_id);
                            }
                        }

                        if (thisTicket.installed_product_id != null)
                        {
                            insPro = new crm_installed_product_dal().FindNoDeleteById((long)thisTicket.installed_product_id);
                        }

                        if (thisTicket.contract_id != null)
                        {
                            thisContract = new ctt_contract_dal().FindNoDeleteById((long)thisTicket.contract_id);
                        }

                        if (thisTicket.cost_code_id != null)
                        {
                            thisCostCode = new d_cost_code_dal().FindNoDeleteById((long)thisTicket.cost_code_id);
                        }
                        var otherResList = new sdk_task_resource_dal().GetTaskResByTaskId(thisTicket.id);
                        if (otherResList != null && otherResList.Count > 0)
                        {
                            foreach (var item in otherResList)
                            {
                                if (item.resource_id != null && item.role_id != null)
                                {
                                    var resDepList = new sys_resource_department_dal().GetResDepByResAndRole((long)item.resource_id, (long)item.role_id);
                                    if (resDepList != null && resDepList.Count > 0)
                                    {
                                        ticketResIds += resDepList[0].id + ",";
                                    }
                                }
                            }

                            if (ticketResIds != "")
                            {
                                ticketResIds = ticketResIds.Substring(0, ticketResIds.Length - 1);
                            }
                        }

                        ticketCheckList = new sdk_task_checklist_dal().GetCheckByTask(thisTicket.id);
                        if (ticketCheckList != null && ticketCheckList.Count > 0)
                        {
                            ticketCheckList = ticketCheckList.OrderBy(_ => _.sort_order).ToList();
                        }
                        #region 时间轴显示相关 工单备注类型获取
                        var    slaValue     = new sdk_task_dal().GetSlaTime(thisTicket);
                        string slaTimeValue = "";
                        if (slaValue != null)
                        {
                            slaTimeValue = slaValue.ToString();
                        }
                        if (!string.IsNullOrEmpty(slaTimeValue))
                        {
                            if (slaTimeValue.Substring(0, 1) == "{")
                            {
                                slaDic = new EMT.Tools.Serialize().JsonToDictionary(slaTimeValue);
                            }
                        }
                        var actList = new d_general_dal().GetGeneralByTableId((int)GeneralTableEnum.ACTION_TYPE);
                        if (actList != null && actList.Count > 0)
                        {
                            ticketNoteTypeList = actList.Where(_ => _.ext2 == ((int)DicEnum.ACTIVITY_CATE.TASK_NOTE).ToString()).ToList();
                        }
                        #endregion
                        entryList = new sdk_work_entry_dal().GetList(thisTicket.id);
                    }
                }


                var ticket_type_id = Request.QueryString["ticket_type_id"];
                if (!string.IsNullOrEmpty(ticket_type_id))
                {
                    this.ticket_type_id.ClearSelection();
                    this.ticket_type_id.SelectedValue = ticket_type_id;
                }
            }
            catch (Exception msg)
            {
                Response.Write("<script>alert('" + msg.Message + "');window.close();</script>");
            }
        }
示例#18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                var taskId = Request.QueryString["id"];
                if (!string.IsNullOrEmpty(taskId))
                {
                    thisTicket = new sdk_task_dal().FindNoDeleteById(long.Parse(taskId));
                    if (thisTicket != null)
                    {
                        isAdd              = false;
                        thisBookMark       = new IndexBLL().GetSingBook(Request.Url.LocalPath + "?id=" + taskId, LoginUserId);
                        ticketUdfValueList = new UserDefinedFieldsBLL().GetUdfValue(DicEnum.UDF_CATE.TASK, thisTicket.id, tickUdfList);
                        thisAccount        = new CompanyBLL().GetCompany(thisTicket.account_id);
                        if (thisTicket.contact_id != null)
                        {
                            thisContact = new crm_contact_dal().FindNoDeleteById((long)thisTicket.contact_id);
                        }
                        if (thisTicket.owner_resource_id != null && thisTicket.role_id != null)
                        {
                            var resDepList = new sys_resource_department_dal().GetResDepByResAndRole((long)thisTicket.owner_resource_id, (long)thisTicket.role_id);
                            if (resDepList != null && resDepList.Count > 0)
                            {
                                proResDep = resDepList[0];
                                priRes    = new sys_resource_dal().FindNoDeleteById((long)thisTicket.owner_resource_id);
                            }
                        }

                        if (thisTicket.installed_product_id != null)
                        {
                            insPro = new crm_installed_product_dal().FindNoDeleteById((long)thisTicket.installed_product_id);
                        }
                        if (thisTicket.contract_id != null)
                        {
                            thisContract = new ctt_contract_dal().FindNoDeleteById((long)thisTicket.contract_id);
                        }
                        if (thisTicket.cost_code_id != null)
                        {
                            thisCostCode = new d_cost_code_dal().FindNoDeleteById((long)thisTicket.cost_code_id);
                        }
                        ticketCheckList = new sdk_task_checklist_dal().GetCheckByTask(thisTicket.id);
                        if (ticketCheckList != null && ticketCheckList.Count > 0)
                        {
                            ticketCheckList = ticketCheckList.OrderBy(_ => _.sort_order).ToList();
                        }
                        entryList = new sdk_work_entry_dal().GetList(thisTicket.id);

                        var otherResList = new sdk_task_resource_dal().GetTaskResByTaskId(thisTicket.id);
                        if (otherResList != null && otherResList.Count > 0)
                        {
                            ticketResList = new List <sys_resource_department>();
                            var srdDal = new sys_resource_department_dal();
                            foreach (var resRole in otherResList)
                            {
                                if (resRole.resource_id == null || resRole.role_id == null)
                                {
                                    continue;
                                }
                                var thisResDep = srdDal.GetResDepByResAndRole((long)resRole.resource_id, (long)resRole.role_id);
                                if (thisResDep != null && thisResDep.Count > 0)
                                {
                                    ticketResList.Add(thisResDep[0]);
                                }
                            }
                        }

                        if (thisTicket.service_id != null)
                        {
                            thisService = new ivt_service_dal().FindNoDeleteById((long)thisTicket.service_id);
                            if (thisService == null)
                            {
                                thisServiceBun = new ivt_service_bundle_dal().FindNoDeleteById((long)thisTicket.service_id);
                            }
                        }
                        createRes = new sys_resource_dal().FindNoDeleteById(thisTicket.create_user_id);

                        var    slaValue     = new sdk_task_dal().GetSlaTime(thisTicket);
                        string slaTimeValue = "";
                        if (slaValue != null)
                        {
                            slaTimeValue = slaValue.ToString();
                        }
                        if (!string.IsNullOrEmpty(slaTimeValue))
                        {
                            if (slaTimeValue.Substring(0, 1) == "{")
                            {
                                slaDic = new EMT.Tools.Serialize().JsonToDictionary(slaTimeValue);
                            }
                        }
                        var actList = new d_general_dal().GetGeneralByTableId((int)GeneralTableEnum.ACTION_TYPE);
                        if (actList != null && actList.Count > 0)
                        {
                            ticketNoteTypeList = actList.Where(_ => _.ext2 == ((int)DicEnum.ACTIVITY_CATE.TASK_NOTE).ToString()).ToList();
                        }
                        ticketOther     = new sdk_task_other_dal().GetTicketOther(thisTicket.id);
                        ticketOtherList = new sdk_task_other_person_dal().GetTicketOther(thisTicket.id);
                    }
                }
                var ticketIds = Request.QueryString["ids"];
                if (!string.IsNullOrEmpty(ticketIds))
                {
                    pageTicketList = new sdk_task_dal().GetTicketByIds(ticketIds);
                }


                if (thisTicket == null)
                {
                    Response.Write("<script>alert('未查询到该工单信息!');window.close();</script>");
                    return;
                }
                var history = new sys_windows_history()
                {
                    title = "工单:" + thisTicket.no + ":" + thisTicket.title,
                    url   = Request.RawUrl,
                };
                new IndexBLL().BrowseHistory(history, LoginUserId);
            }
            catch (Exception msg)
            {
                Response.Write("<script>alert('" + msg.Message + "');window.close();</script>");
            }
        }