/// <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); }
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); }
/// <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); } } } } }
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>"); }
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); } }
/// <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); }
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); }
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(); } }
/// <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); }
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); }
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>"); } }
/// <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); }
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(); } }
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); }
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>"); } }
/// <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); }
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>"); } }
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>"); } }