예제 #1
0
        public ActionResult Edit(Epm_TzSupplyMaterialApply model)
        {
            Result <int> result = new Result <int>();

            string tzSupMatApplyList = Request.Form["tzSupMatApplyList"];

            if (!string.IsNullOrEmpty(tzSupMatApplyList))
            {
                model.TzSupMatApplyList = JsonConvert.DeserializeObject <List <Epm_TzSupMatApplyList> >(tzSupMatApplyList);
            }

            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                result = proxy.UpdateTzSupplyMaterialApply(model);
            }
            return(Json(result.ToResultView()));
        }
        ///<summary>
        ///添加:
        ///</summary>
        /// <param name="model">要添加的model</param>
        /// <returns>受影响的行数</returns>
        public Result <int> AddTzSupplyMaterialApply(Epm_TzSupplyMaterialApply model)
        {
            Result <int> result = new Result <int>();

            try
            {
                SetCurrentUser(model);
                SetCreateUser(model);
                model.UseType = false;
                var sumTotal = model.TzSupMatApplyList.Sum(p => p.Number);//根据明细计算总数量
                model.Number = sumTotal;

                if (model.ProjectId.HasValue)
                {
                    var project = DataOperateBusiness <Epm_TzProjectProposal> .Get().GetModel(model.ProjectId.Value);

                    if (project != null)
                    {
                        model.ProjectCode   = project.ProjectCode;
                        model.Nature        = project.Nature;
                        model.NatureName    = project.NatureName;
                        model.ApplyTime     = project.ApplyTime;
                        model.CompanyId     = project.CompanyId;
                        model.CompanyName   = project.CompanyName;
                        model.CompanyCodeXt = project.CompanyCodeXt;
                    }
                }

                #region 甲供物资申请  不要删哦
                var XtWorkFlow = System.Configuration.ConfigurationManager.AppSettings.Get("XtWorkFlow");
                if (model.State == (int)PreProjectState.WaitApproval && XtWorkFlow == "1")
                {
                    XtTzSupplyMaterialApplyView view = new XtTzSupplyMaterialApplyView();

                    view.ApprovalNo         = model.ApprovalNo;
                    view.ApplyTitle         = model.ApplyTitle;
                    view.ApplyUserName      = model.ApplyUserName;
                    view.CreateTime         = model.CreateTime.ToString();
                    view.ApplyDepartment    = model.ApplyDepartment;
                    view.ApplyCompanyName   = model.ApplyCompanyName;
                    view.ProjectName        = model.ProjectName;
                    view.StationName        = model.StationName;
                    view.ApprovalNo         = model.ApprovalNo;
                    view.ContractName       = model.ContractName;
                    view.ContractNumber     = model.ContractNumber;
                    view.ErpCode            = model.ErpCode;
                    view.ArrivalContacts    = model.ArrivalContacts;
                    view.ArrivalAddress     = model.ArrivalAddress;
                    view.Supplier           = model.Supplier;
                    view.SupplierCode       = model.SupplierCode;
                    view.SupplierContacts   = model.SupplierContacts;
                    view.SupplierTel        = model.SupplierTel;
                    view.SupplierAddress    = model.SupplierAddress;
                    view.Number             = model.Number.ToString();//数量
                    view.Money              = model.ApplyAmount.ToString();
                    view.LeadershipName     = model.LeadershipName;
                    view.ArrivalContactsTel = model.ArrivalContactsTel;

                    var baseUser = DataOperateBasic <Base_User> .Get().GetModel(model.CreateUserId);

                    if (baseUser == null)
                    {
                        throw new Exception("未找到申请人相关信息!");
                    }
                    else
                    {
                        view.hr_sqr = baseUser.ObjeId;
                    }
                    //明细表信息
                    if (model.TzSupMatApplyList != null && model.TzSupMatApplyList.Any())
                    {
                        view.list = new List <XtTzSupplyMaterialApplyView.SupMatApplyListItem>();
                        foreach (var temp in model.TzSupMatApplyList)
                        {
                            XtTzSupplyMaterialApplyView.SupMatApplyListItem itemview = new XtTzSupplyMaterialApplyView.SupMatApplyListItem();
                            itemview.MaterialCategory = temp.SupMatManagement;
                            itemview.ProductName      = temp.ProductName.ToString();
                            itemview.Specification    = temp.Specification.ToString();
                            itemview.UnitPrice        = temp.UnitPrice.ToString();
                            itemview.Moneys           = temp.Money.ToString();
                            itemview.CLNumber         = temp.Number.ToString();

                            view.list.Add(itemview);
                        }
                    }

                    model.WorkFlowId = XtWorkFlowService.CreateTzSupplyMaterialApplyWorkFlow(view);
                }
                #endregion

                var rows = DataOperateBusiness <Epm_TzSupplyMaterialApply> .Get().Add(model);

                if (model.TzSupMatApplyList != null && model.TzSupMatApplyList.Any())
                {
                    model.TzSupMatApplyList.ForEach(item =>
                    {
                        item.SupMatApplyId = model.Id;
                        item              = SetCurrentUser(item);
                        item              = SetCreateUser(item);
                        item.UseType      = false;
                        item.UseSum       = 0;
                        item.SupplierName = model.Supplier;
                        item.StayUseSum   = Convert.ToInt32(item.Number);
                    });
                    DataOperateBusiness <Epm_TzSupMatApplyList> .Get().AddRange(model.TzSupMatApplyList);
                }

                result.Data = rows;
                result.Flag = EResultFlag.Success;
                //WriteLog(AdminModule.TzSupplyMaterialApply.GetText(), SystemRight.Add.GetText(), "新增: " + model.Id);
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "AddTzSupplyMaterialApply");
            }
            return(result);
        }