/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="model">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, FireWaterModel model) { var res = DbFactory.Base().BeginTrans(); try { Repository <FireWaterEntity> repFire = new Repository <FireWaterEntity>(DbFactory.Base()); FireWaterEntity entity = repFire.FindEntity(keyValue); //新增 if (entity == null) { entity = new FireWaterEntity(); entity.Id = keyValue; entity.Create(); //实体赋值 this.copyProperties(entity, model); //生成编码 entity.ApplyNumber = this.GetMaxCode(); //添加操作 res.Insert(entity); } else { //编辑 entity.Modify(keyValue); //实体赋值 this.copyProperties(entity, model); //更新操作 res.Update(entity); } //添加或更新作业安全分析 先删除再添加 res.Delete <HighRiskRecordEntity>(t => t.WorkId == entity.Id); if (model.RiskRecord != null) { var num = 0; foreach (var risk in model.RiskRecord) { risk.CreateDate = DateTime.Now.AddSeconds(-num); risk.Create(); res.Insert(risk); num++; } } res.Commit(); } catch (Exception ex) { res.Rollback(); throw ex; } }
public ActionResult SaveForm(string keyValue, string jsonData) { try { FireWaterModel model = JsonConvert.DeserializeObject <FireWaterModel>(jsonData); firewaterbll.SaveForm(keyValue, model); } catch (Exception ex) { return(Error("操作出错,错误信息:" + ex.Message)); } return(Success("操作成功。")); }
/// <summary> /// 从源实体给目标实体属性赋值 /// </summary> /// <param name="target">目标</param> /// <param name="source">源</param> private void copyProperties(FireWaterEntity target, FireWaterModel source) { target.ApplyDeptId = source.ApplyDeptId; target.ApplyDeptCode = source.ApplyDeptCode; target.ApplyDeptName = source.ApplyDeptName; target.ApplyUserId = source.ApplyUserId; target.ApplyUserName = source.ApplyUserName; target.ApplyNumber = source.ApplyNumber; target.SpecialtyType = source.SpecialtyType; target.WorkDeptType = source.WorkDeptType; target.WorkDeptId = source.WorkDeptId; target.WorkDeptCode = source.WorkDeptCode; target.WorkDeptName = source.WorkDeptName; target.EngineeringId = source.EngineeringId; target.EngineeringName = source.EngineeringName; target.WorkUserIds = source.WorkUserIds; target.WorkUserNames = source.WorkUserNames; target.WorkUse = source.WorkUse; target.WorkStartTime = source.WorkStartTime; target.WorkEndTime = source.WorkEndTime; target.WorkAreaCode = source.WorkAreaCode; target.WorkAreaName = source.WorkAreaName; target.WorkPlace = source.WorkPlace; target.WorkContent = source.WorkContent; target.Measure = source.Measure; target.CopyUserIds = source.CopyUserIds; target.CopyUserNames = source.CopyUserNames; target.IsMessage = source.IsMessage; target.ApplyState = source.ApplyState; //审核流程信息 target.FlowId = source.FlowId; target.FlowName = source.FlowName; target.FlowRole = source.FlowRole; target.FlowRoleName = source.FlowRoleName; target.FlowDept = source.FlowDept; target.FlowDeptName = source.FlowDeptName; target.InvestigateState = source.InvestigateState; target.FlowRemark = source.FlowRemark; target.Tool = source.Tool; target.hdTool = source.hdTool; }
/// <summary> /// 保存表单(新增、修改) /// 适用于保存及修改时,处理业务数据及初始状态 /// </summary> /// <param name="keyValue">主键值</param> /// <param name="model">实体对象</param> /// <param name="auditEntity">审核实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, FireWaterModel model) { try { Operator currUser = ERCHTMS.Code.OperatorProvider.Provider.Current(); ManyPowerCheckEntity mpcEntity = null; if (model.WorkDeptType == "0") { mpcEntity = peopleReviwservice.CheckAuditForNextByWorkUnit(currUser, "消防水使用-内部审核", model.WorkDeptId, model.FlowId, false); } else { mpcEntity = peopleReviwservice.CheckAuditForNextByOutsourcing(currUser, "消防水使用-外部审核", model.WorkDeptId, model.FlowId, false, true, model.EngineeringId); } if (model.ApplyState == "0") { model.FlowName = "申请中"; model.InvestigateState = "0"; } if (model.ApplyState == "1") { //如果审核步骤不为空,处理流程信息及状态 if (mpcEntity != null) { model.FlowDept = mpcEntity.CHECKDEPTID; model.FlowDeptName = mpcEntity.CHECKDEPTNAME; model.FlowRole = mpcEntity.CHECKROLEID; model.FlowRoleName = mpcEntity.CHECKROLENAME; model.FlowId = mpcEntity.ID; model.FlowName = mpcEntity.FLOWNAME; model.ApplyState = "1"; model.InvestigateState = "2"; model.FlowRemark = !string.IsNullOrEmpty(mpcEntity.REMARK) ? mpcEntity.REMARK : ""; //推送消息到有审批权限的人 string type = model.FlowRemark != "1" ? "0" : "1"; new ScaffoldBLL().SendMessage(model.FlowDept, model.FlowRole, "ZY100", model.Id, "", "", type, !string.IsNullOrEmpty(model.SpecialtyType) ? model.SpecialtyType : ""); } else { model.FlowRemark = ""; model.FlowDept = " "; model.FlowDeptName = " "; model.FlowRole = " "; model.FlowRoleName = " "; model.ApplyState = "3"; model.FlowName = "已完结"; model.InvestigateState = "3"; string Content = "作业内容:" + model.WorkContent + " 作业时间:" + model.WorkStartTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 到 " + model.WorkEndTime.Value.ToString("yyyy年MM月dd日 HH时mm分") + " 作业地点:" + model.WorkPlace; UserEntity userEntity = userservice.GetEntity(model.CreateUserId); string[] workuserlist = model.WorkUserIds.Split(','); DataTable dutyuserDt = new DataTable(); dutyuserDt = userservice.GetUserTable(workuserlist); //推送给作业申请人 if (userEntity != null) { JPushApi.PushMessage(userEntity.Account, userEntity.RealName, "ZY020", "消防水使用许可申请已通过,请及时处理", Content, keyValue); } //推送给作业负责人/作业人 if (dutyuserDt.Rows.Count > 0) { string Account = ""; string RealName = ""; foreach (DataRow item in dutyuserDt.Rows) { Account += item["account"].ToString() + ","; RealName += item["realname"].ToString() + ","; } if (!string.IsNullOrEmpty(Account)) { Account = Account.Substring(0, Account.Length - 1); RealName = RealName.Substring(0, RealName.Length - 1); } JPushApi.PushMessage(Account, RealName, "ZY020", "您有一条新的消防水使用作业任务,请及时处理", Content, keyValue); } } } service.SaveForm(keyValue, model); } catch (Exception) { throw; } }
public object GetForm([FromBody] JObject json) { try { string res = json.Value <string>("json"); var dy = JsonConvert.DeserializeAnonymousType(res, new { userid = string.Empty, data = new { id = string.Empty } }); //获取用户Id OperatorProvider.AppUserId = dy.userid; //设置当前用户 Operator curUser = OperatorProvider.Provider.Current(); if (null == curUser) { return(new { code = -1, info = "请求失败,请登录!" }); } if (dy.data == null) { throw new ArgumentException("缺少参数:data为空"); } if (string.IsNullOrEmpty(dy.data.id)) { throw new ArgumentException("缺少参数:id为空"); } var fireWaterEntity = firewaterbll.GetEntity(dy.data.id); if (fireWaterEntity == null) { throw new ArgumentException("未找到信息"); } string webUrl = new DataItemDetailBLL().GetItemValue("imgUrl"); string jsondata = JsonConvert.SerializeObject(fireWaterEntity); FireWaterModel model = JsonConvert.DeserializeObject <FireWaterModel>(jsondata); if (model.SpecialtyType != null) { model.SpecialtyTypeName = scaffoldbll.getName(fireWaterEntity.SpecialtyType, "SpecialtyType"); } model.FireWaterAudits = scaffoldauditrecordbll.GetList(fireWaterEntity.Id); foreach (var item in model.FireWaterAudits) { item.AuditSignImg = string.IsNullOrWhiteSpace(item.AuditSignImg) ? "" : webUrl + item.AuditSignImg.ToString().Replace("../../", "/"); } DataTable cdt = fileInfoBLL.GetFiles(model.Id); IList <Photo> cfiles = new List <Photo>(); foreach (DataRow item in cdt.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); cfiles.Add(p); } model.cfiles = cfiles; DataTable conditionfile = fileInfoBLL.GetFiles(model.Id + "01"); IList <Photo> conditionFiles = new List <Photo>(); foreach (DataRow item in conditionfile.Rows) { Photo p = new Photo(); p.fileid = item[0].ToString(); p.filename = item[1].ToString(); p.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + item[2].ToString().Substring(1); conditionFiles.Add(p); } model.conditionFiles = conditionFiles; model.conditionEntity = firewaterbll.GetConditionEntity(model.Id); model.RiskRecord = highriskrecordbll.GetList(model.Id).ToList(); string moduleName = string.Empty; string projectid = ""; if (fireWaterEntity.WorkDeptType == "0")//单位内部 { moduleName = "消防水使用-内部审核"; } else { moduleName = "消防水使用-外部审核"; projectid = fireWaterEntity.EngineeringId; } var nodelist = firewaterbll.GetAppFlowList(fireWaterEntity.Id, moduleName); model.CheckFlow = nodelist; #region 获取执行情况 IList <FireWaterCondition> conditionlist = firewaterbll.GetConditionList(fireWaterEntity.Id).OrderBy(t => t.CreateDate).ToList(); for (int i = 0; i < conditionlist.Count; i++) { var item = conditionlist[i]; List <FileInfoEntity> piclist = fileInfoBLL.GetFileList(item.Id); IList <ERCHTMS.Entity.HighRiskWork.ViewModel.Photo> temppiclist = new List <ERCHTMS.Entity.HighRiskWork.ViewModel.Photo>(); foreach (var temp in piclist) { ERCHTMS.Entity.HighRiskWork.ViewModel.Photo pic = new ERCHTMS.Entity.HighRiskWork.ViewModel.Photo(); pic.filename = temp.FileName; pic.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + temp.FilePath.Substring(1); pic.fileid = temp.FileId; temppiclist.Add(pic); } item.piclist = temppiclist; List <FileInfoEntity> filelist = fileInfoBLL.GetFileList(item.Id + "_02"); IList <ERCHTMS.Entity.HighRiskWork.ViewModel.Photo> tempfilelist = new List <ERCHTMS.Entity.HighRiskWork.ViewModel.Photo>(); foreach (var temp in filelist) { ERCHTMS.Entity.HighRiskWork.ViewModel.Photo pic = new ERCHTMS.Entity.HighRiskWork.ViewModel.Photo(); pic.filename = temp.FileName; pic.fileurl = dataitemdetailbll.GetItemValue("imgUrl") + temp.FilePath.Substring(1); pic.fileid = temp.FileId; tempfilelist.Add(pic); } item.filelist = tempfilelist; item.num = i / 2 + 1; } model.conditionlist = conditionlist; #endregion Dictionary <string, string> dict_props = new Dictionary <string, string>(); JsonSerializerSettings settings = new JsonSerializerSettings { ContractResolver = new LowercaseContractResolver(dict_props), //转小写,并对指定的列进行自定义名进行更换 DateFormatString = "yyyy-MM-dd HH:mm" }; return(new { code = 0, info = "获取数据成功", data = JObject.Parse(JsonConvert.SerializeObject(model, Formatting.None, settings)) }); } catch (Exception ex) { return(new { code = -1, data = "", info = ex.Message }); } }