/// <summary> /// 打印 /// </summary> /// <param name="id"></param> /// <returns></returns> public ViewResult Print(string id) { Item result = PrManageBll.GetPrManageObjById(inn, id); //拆解数据 PrManageModel model = new PrManageModel(); model.id = result.getProperty("id"); model.b_PrRecordNo = result.getProperty("b_prrecordno"); model.b_PrType = result.getProperty("b_prtype"); model.b_BusinessDepartment = result.getProperty("b_businessdepartment"); model.b_Budget = decimal.Parse(result.getProperty("b_budget")); model.b_ApplicantId = result.getProperty("b_applicantid"); model.b_Applicant = result.getProperty("b_applicant"); model.b_RaisedDate = DateTime.Parse(result.getProperty("b_raiseddate")).ToString("yyyy-MM-dd"); model.b_EmailAddress = result.getProperty("b_emailaddress"); model.b_PhoneNo = result.getProperty("b_phoneno"); model.b_ProjectName = result.getProperty("b_projectname"); model.b_BudgetCode = result.getProperty("b_budgetcode"); model.b_ProjectLeader = result.getProperty("b_projectleader"); model.b_ProjectManager = result.getProperty("b_projectmanager"); model.b_ProjectDirector = result.getProperty("b_projectdirector"); model.b_BudgetStatus = result.getProperty("b_budgetstatus"); model.b_BuyerId = result.getProperty("b_buyerid"); model.b_Buyer = result.getProperty("b_buyer"); model.b_UrgentPurchase = result.getProperty("b_urgentpurchase") == "0" ? false : true; model.b_RepetitivePurchase = result.getProperty("b_repetitivepurchase") == "0" ? false : true; model.b_AuthorizedPurchase = result.getProperty("b_authorizedpurchase") == "0" ? false : true; //model.b_SourcedSupplier = result.getProperty("b_sourcedsupplier"); //model.b_ContractPrice = result.getProperty("b_contractprice"); //model.b_PoNo = result.getProperty("b_pono"); //model.b_ContractProperty = result.getProperty("b_contractproperty"); model.b_PurchaseContent = result.getProperty("b_purchasecontent"); model.b_ContractParty = result.getProperty("b_contractparty"); model.b_ApplicantAddress = result.getProperty("b_applicantaddress"); model.b_IsSingleSupplier = result.getProperty("b_issinglesupplier") == "0" ? false : true; model.b_ContractType = result.getProperty("b_contracttype"); model.b_DeptManager = result.getProperty("b_deptmanager"); model.b_DeptDirector = result.getProperty("b_deptdirector"); model.b_CostCenter = result.getProperty("b_costcenter"); model.b_PurchasingReason = result.getProperty("b_purchasingreason"); model.b_AdditionalBudget = result.getProperty("b_additionalbudget"); model.b_DeptVP = result.getProperty("b_deptvp"); model.UserName = Userinfo.UserName; model.status = Common.GetItemStatus(id); Item Relation = result.getRelationships("b_RequestInfo"); if (Relation.getItemCount() > 0) { model.PrManageItems = new List <PrManageItem>(); for (int i = 0; i < Relation.getItemCount(); i++) { Item ItemObJ = Relation.getItemByIndex(i).getRelatedItem(); PrManageItem itemModel = new PrManageItem(); itemModel.id = ItemObJ.getProperty("id"); itemModel.b_No = ItemObJ.getProperty("b_no"); itemModel.b_RequestList = ItemObJ.getProperty("b_requestlist"); itemModel.b_SpecificationQuantity = ItemObJ.getProperty("b_specificationquantity"); itemModel.b_ProjectNo = ItemObJ.getProperty("b_projectno"); itemModel.b_TaskNo = ItemObJ.getProperty("b_taskno"); itemModel.b_Qty = int.Parse(ItemObJ.getProperty("b_qty")); itemModel.b_Unit = ItemObJ.getProperty("b_unit"); model.PrManageItems.Add(itemModel); } } List <string> listRoleName = IdentityDA.GetIdentityByUserName(Userinfo.UserName); model.IsPurchasingAuth = false; if (model.UserName == model.b_Buyer || listRoleName.Contains("采购员") || listRoleName.Contains("采购部接收PR") || listRoleName.Contains("PRReader") || Userinfo.LoginName == "admin") { model.IsPurchasingAuth = true; //询价信息 Item quotationRelation = result.getRelationships("b_QuotationItem"); if (quotationRelation.getItemCount() > 0) { model.PrQuotationItems = new List <PrQuotationItem>(); for (int i = 0; i < quotationRelation.getItemCount(); i++) { Item itemObj = quotationRelation.getItemByIndex(i).getRelatedItem(); PrQuotationItem itemModel = new PrQuotationItem(); itemModel.id = itemObj.getProperty("id"); itemModel.b_Supplier = itemObj.getProperty("b_supplier"); itemModel.b_Quotation = itemObj.getProperty("b_quotation"); itemModel.b_Remarks = itemObj.getProperty("b_remarks"); model.PrQuotationItems.Add(itemModel); } } //获取重复信息 Item repeatedPurchasing = result.getRelationships("b_RepeatedPurchasing"); if (repeatedPurchasing.getItemCount() > 0) { model.PrRepeateItems = new List <PrRepeateItem>(); for (int i = 0; i < repeatedPurchasing.getItemCount(); i++) { Item itemObj = repeatedPurchasing.getItemByIndex(i).getRelatedItem(); PrRepeateItem itemModel = new PrRepeateItem(); itemModel.id = itemObj.getProperty("id"); itemModel.b_PrRecordNo = itemObj.getProperty("b_prrecordno"); itemModel.b_PreviousSupplier = itemObj.getProperty("b_previoussupplier"); itemModel.b_ContractNo = itemObj.getProperty("b_contractno"); //itemModel.b_ContractPrice = itemObj.getProperty("b_contractprice"); itemModel.b_PreviousBuyer = itemObj.getProperty("b_previousbuyer"); model.PrRepeateItems.Add(itemModel); } } //获取挑选的供应商 Item b_ChoiceSuppliers = result.getRelationships("b_ChoiceSuppliers"); if (b_ChoiceSuppliers.getItemCount() > 0) { model.PrChoiceSupplierItems = new List <PrChoiceSupplierItem>(); for (int i = 0; i < b_ChoiceSuppliers.getItemCount(); i++) { Item itemObj = b_ChoiceSuppliers.getItemByIndex(i).getRelatedItem(); PrChoiceSupplierItem itemModel = new PrChoiceSupplierItem(); itemModel.id = itemObj.getProperty("id"); itemModel.b_Supplier = itemObj.getProperty("b_supplier"); itemModel.b_ContractPrice = itemObj.getProperty("b_contractprice"); itemModel.b_PoNo = itemObj.getProperty("b_pono"); itemModel.b_ContractProperty = itemObj.getProperty("b_contractproperty"); itemModel.b_PaymentClause = itemObj.getProperty("b_paymentclause"); model.PrChoiceSupplierItems.Add(itemModel); } } } model.HistoryList = GetPrManageHistoryList(model.id); foreach (var item in model.HistoryList) { item.Created_on = item.Create_onStr.GetValueOrDefault().ToString("yyyy-MM-dd HH:mm:ss"); item.ItemStatus = Common.GetChineseValueByParam(item.ItemStatus, "PrManageWorkFlow", "WorkFlow", Userinfo.language); item.OperateStr = Common.GetChineseValueByParam(item.OperateStr, "PrManageWorkFlow", "WorkFlow", Userinfo.language); } return(View("~/Views/PrManage/PrintPrManage.cshtml", model)); }
/// <summary> /// 完成任务 /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonResult CompleteActivity(CompleteActivityModel model) { var retModel = new JsonReturnModel(); try { WORKFLOW_PROCESS_PATH path = new WORKFLOW_PROCESS_PATH(); Item itemPrManage = inn.newItem("B_PRMANAGE", "get"); itemPrManage.setAttribute("id", model.itemId); itemPrManage = itemPrManage.apply(); string prRecordNo = itemPrManage.getProperty("b_prrecordno"); string b_BusinessDepartment = itemPrManage.getProperty("b_businessdepartment"); string b_Applicant = itemPrManage.getProperty("b_applicant"); if (string.IsNullOrEmpty(model.comments)) { retModel.AddError("errorMessage", @OABordrinCommon.Common.GetLanguageValueByParam("退回必须填写备注!", "ERCommon", "ERItemType", ViewBag.language)); return(Json(retModel, JsonRequestBehavior.AllowGet)); } //获取当前退回人员权重 var ActivityAssignmentItem = ActivityAssignmentDA.GetActivityAssignmentById(inn, model.activityAssignmentId); if (!ActivityAssignmentItem.isError() && ActivityAssignmentItem.getItemCount() > 0) { int voting_weight = int.Parse(ActivityAssignmentItem.getItemByIndex(0).getProperty("voting_weight")); //修改权重 if (voting_weight < 100) { //获取Admin的Aras 连接 var adminInn = WorkFlowBll.GetAdminInnovator(); if (adminInn != null) { //获取Admin 对当前任务权限数据 Item activityItem = ActivityDA.GetActivityByItemId(adminInn, model.itemId, "Administrators", "B_PrManage"); if (!activityItem.isError()) { string activityId = activityItem.getProperty("activityid"); string activityAssignmentId = activityItem.getProperty("activityassignmentid"); ActivityDA.CompleteActivity(adminInn, activityId, activityAssignmentId, model.pathId, "", "", Userinfo.UserName + "对单据进行了退回操作! 备注:" + model.comments); } } } else { string result = ActivityDA.CompleteActivity(inn, model.activityId, model.activityAssignmentId, model.pathId, "", "", model.comments); if (!string.IsNullOrEmpty(result)) { retModel.AddError("errorMessage", result); return(Json(retModel, JsonRequestBehavior.AllowGet)); } } } path = WorkflowProcessPathDA.GetWorkflowProcessPathById(model.pathId); PrManageBll.SendEmailByOperation(inn, prRecordNo, b_Applicant, "", path, model.itemId); string b_remark = PrManageBll.AddRemark(inn, model.comments, model.itemId, Userinfo.UserName); var itemRoot = inn.newItem("B_PRMANAGE", "edit"); itemRoot.setAttribute("id", model.itemId); itemRoot.setProperty("b_remark", b_remark); itemRoot = itemRoot.apply(); } catch (Exception ex) { retModel.AddError("errorMessage", ex.Message); } return(Json(retModel, JsonRequestBehavior.AllowGet)); }