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