コード例 #1
0
        public ActionResult Edit(Epm_Materiel model)
        {
            ResultView <int> view     = new ResultView <int>();
            MaterielView     materiel = new MaterielView();

            #region 表单验证
            if (!model.ProjectId.HasValue || model.ProjectId.Value == 0 || string.IsNullOrWhiteSpace(model.ProjectName))
            {
                view.Flag    = false;
                view.Message = "项目名称不能为空";
                return(Json(view));
            }
            #endregion

            //上传附件
            string fileDataJsonFile = Request.Form["fileDataJsonFile"];//获取上传文件json字符串
            if (!string.IsNullOrWhiteSpace(fileDataJsonFile))
            {
                List <Base_Files> files = JsonConvert.DeserializeObject <List <Base_Files> >(fileDataJsonFile);//将文件信息json字符
                materiel.FileList = files;
            }
            string materielDetails = Request.Form["MaterielDetail"];
            if (!string.IsNullOrWhiteSpace(materielDetails))
            {
                materiel.MaterielDetails = JsonConvert.DeserializeObject <List <Epm_MaterielDetails> >(materielDetails);
            }

            Result <int> result = new Result <int>();
            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                materiel.Epm_Materiel = model;
                result = proxy.UpdateMateriel(materiel);
            }
            return(Json(result.ToResultView()));
        }
コード例 #2
0
        ///<summary>
        ///获取详情:
        ///</summary>
        /// <param name="id">数据Id</param>
        /// <returns>数据详情model</returns>
        public Result <MaterielView> GetMaterielModel(long id)
        {
            MaterielView          list   = new MaterielView();
            Result <MaterielView> result = new Result <MaterielView>();

            try
            {
                list.Epm_Materiel = DataOperateBusiness <Epm_Materiel> .Get().GetModel(id);

                if (list.Epm_Materiel != null)
                {
                    list.FileList = DataOperateBasic <Base_Files> .Get().GetList(t => t.TableId == id && string.IsNullOrEmpty(t.ImageType)).ToList();
                }
                list.MaterielDetails = DataOperateBusiness <Epm_MaterielDetails> .Get().GetList(p => p.MaterielReceiveId == id).ToList();

                if (list.MaterielDetails.Any())
                {
                    foreach (var item in list.MaterielDetails)
                    {
                        var tzSupMatApplyList = DataOperateBusiness <Epm_TzSupMatApplyList> .Get().GetModel(item.SupMatApplyListId.Value);

                        if (tzSupMatApplyList != null)
                        {
                            item.TotalUseSum = tzSupMatApplyList.UseSum;
                        }
                    }
                }

                result.Data = list;
                result.Flag = EResultFlag.Success;
            }
            catch (Exception ex)
            {
                result.Data      = null;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "GetMaterielModel");
            }
            return(result);
        }
コード例 #3
0
        ///<summary>
        ///添加:
        ///</summary>
        /// <param name="model">要添加的model</param>
        /// <returns>受影响的行数</returns>
        public Result <int> AddMateriel(MaterielView model)
        {
            Result <int> result = new Result <int>();

            try
            {
                model.Epm_Materiel             = SetCurrentUser(model.Epm_Materiel);
                model.Epm_Materiel.CompanyId   = CurrentCompanyID.ToLongReq();
                model.Epm_Materiel.CompanyName = CurrentCompanyName;
                if (model.MaterielDetails.Count > 0)
                {
                    model.Epm_Materiel.SupplierName = model.MaterielDetails[0].Unit;

                    DataOperateBusiness <Epm_Materiel> .Get().Add(model.Epm_Materiel);

                    foreach (var item in model.MaterielDetails)
                    {
                        item.MaterielReceiveId = model.Epm_Materiel.Id;
                        item.UseSum            = Convert.ToInt32(item.Qty) - item.UseSum - item.StayUseSum;
                        item.SupMatApplyId     = model.Epm_Materiel.SupMatApplyId;
                        SetCreateUser(item);

                        //修改甲供物资申请详情数据
                        var tzSupMatApplyList = DataOperateBusiness <Epm_TzSupMatApplyList> .Get().GetModel(item.SupMatApplyListId.Value);

                        if (tzSupMatApplyList != null)
                        {
                            tzSupMatApplyList.UseSum     = tzSupMatApplyList.UseSum + item.UseSum;
                            tzSupMatApplyList.StayUseSum = item.StayUseSum;


                            if (tzSupMatApplyList.StayUseSum == 0)
                            {
                                tzSupMatApplyList.UseType = true;
                            }
                            DataOperateBusiness <Epm_TzSupMatApplyList> .Get().Update(tzSupMatApplyList);
                        }
                    }
                    DataOperateBusiness <Epm_MaterielDetails> .Get().AddRange(model.MaterielDetails);

                    var stayList = DataOperateBusiness <Epm_MaterielDetails> .Get().GetList(p => p.SupMatApplyId == model.Epm_Materiel.SupMatApplyId).ToList();

                    foreach (var temp in stayList)
                    {
                        var tzSupMatApply = DataOperateBusiness <Epm_TzSupMatApplyList> .Get().GetModel(temp.SupMatApplyListId.Value);

                        temp.StayUseSum = tzSupMatApply.StayUseSum;
                    }
                    DataOperateBusiness <Epm_MaterielDetails> .Get().UpdateRange(stayList);

                    //修改甲供物资申请验收状态
                    var tzSupplyMaterialApply = DataOperateBusiness <Epm_TzSupplyMaterialApply> .Get().GetModel(model.Epm_Materiel.SupMatApplyId.Value);

                    if (tzSupplyMaterialApply != null)
                    {
                        int count = DataOperateBusiness <Epm_TzSupMatApplyList> .Get().GetList(t => t.SupMatApplyId == tzSupplyMaterialApply.Id && t.UseType == false).Count();

                        if (count == 0)
                        {
                            tzSupplyMaterialApply.UseType = true;
                            DataOperateBusiness <Epm_TzSupplyMaterialApply> .Get().Update(tzSupplyMaterialApply);
                        }
                    }

                    if (model.FileList != null)
                    {
                        AddFilesByTable(model.Epm_Materiel, model.FileList);//上传附件
                    }

                    result.Data = 1;
                    result.Flag = EResultFlag.Success;

                    if (model.Epm_Materiel.State == (int)ConfirmState.WaitConfirm)
                    {
                        #region 生成待办
                        var project = DataOperateBusiness <Epm_Project> .Get().GetModel(model.Epm_Materiel.ProjectId.Value);

                        List <Epm_Approver> list = new List <Epm_Approver>();
                        Epm_Approver        app  = new Epm_Approver();
                        app.Title            = CurrentUserName + "提报了材料设备验收单,待审核";
                        app.Content          = CurrentUserName + "提报了材料设备验收单,待审核";
                        app.SendUserId       = CurrentUserID.ToLongReq();
                        app.SendUserName     = CurrentUserName;
                        app.SendTime         = DateTime.Now;
                        app.LinkURL          = string.Empty;
                        app.BusinessTypeNo   = BusinessType.Track.ToString();
                        app.Action           = SystemRight.Add.ToString();
                        app.BusinessTypeName = BusinessType.Track.GetText();
                        app.BusinessState    = (int)(ConfirmState.WaitConfirm);
                        app.BusinessId       = model.Epm_Materiel.Id;
                        app.ApproverId       = project.ContactUserId;
                        app.ApproverName     = project.ContactUserName;
                        app.ProjectId        = model.Epm_Materiel.ProjectId;
                        app.ProjectName      = project.Name;
                        list.Add(app);
                        AddApproverBatch(list);
                        WriteLog(BusinessType.Track.GetText(), SystemRight.Add.GetText(), "提交物料验收生成待办: " + model.Epm_Materiel.Id);
                        #endregion

                        #region 消息
                        var waitSend = GetWaitSendMessageList(model.Epm_Materiel.ProjectId.Value);
                        foreach (var send in waitSend)
                        {
                            Epm_Massage modelMsg = new Epm_Massage();
                            modelMsg.ReadTime     = null;
                            modelMsg.RecId        = send.Key;
                            modelMsg.RecName      = send.Value;
                            modelMsg.RecTime      = DateTime.Now;
                            modelMsg.SendId       = CurrentUserID.ToLongReq();
                            modelMsg.SendName     = CurrentUserName;
                            modelMsg.SendTime     = DateTime.Now;
                            modelMsg.Title        = CurrentUserName + "提报了材料设备验收单,待审核";
                            modelMsg.Content      = CurrentUserName + "提报了材料设备验收单,待审核";
                            modelMsg.Type         = 2;
                            modelMsg.IsRead       = false;
                            modelMsg.BussinessId  = model.Epm_Materiel.Id;
                            modelMsg.BussinesType = BusinessType.Track.ToString();
                            modelMsg.ProjectId    = model.Epm_Materiel.ProjectId;
                            modelMsg.ProjectName  = model.Epm_Materiel.ProjectName;
                            modelMsg = base.SetCurrentUser(modelMsg);
                            modelMsg = base.SetCreateUser(modelMsg);
                            DataOperateBusiness <Epm_Massage> .Get().Add(modelMsg);
                        }
                        #endregion

                        #region 发送短信
                        //Dictionary<string, string> parametersms = new Dictionary<string, string>();
                        //parametersms.Add("UserName", CurrentUserName);
                        //WriteSMS(project.ContactUserId.Value, project.CompanyId, MessageStep.MaterielAdd, parametersms);
                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(e, "AddMateriel");
            }
            return(result);
        }