/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, HistoryTechDisclosureEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// 审核表单 /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> /// <param name="aentity"></param> public void ApporveForm(string keyValue, TechDisclosureEntity entity, AptitudeinvestigateauditEntity aentity) { Operator curUser = ERCHTMS.Code.OperatorProvider.Provider.Current(); var smEntity = GetEntity(keyValue); try { string state = string.Empty; string moduleName = ""; if (string.IsNullOrWhiteSpace(smEntity.PROJECTID)) { moduleName = "安全技术交底(手输工程)"; if (smEntity.ENGINEERLEVEL == "001") { moduleName += "_一级风险"; } else if (smEntity.ENGINEERLEVEL == "002") { moduleName += "_二级风险"; } else if (smEntity.ENGINEERLEVEL == "003") { moduleName += "_三级风险"; } } else { moduleName = "安全技术交底(选择工程)"; if (smEntity.ENGINEERLEVEL == "001") { moduleName += "_一级风险"; } else if (smEntity.ENGINEERLEVEL == "002") { moduleName += "_二级风险"; } else if (smEntity.ENGINEERLEVEL == "003") { moduleName += "_三级风险"; } } string outengineerid = smEntity.PROJECTID; ManyPowerCheckEntity mpcEntity = peoplereviewservice.CheckAuditPower(curUser, out state, moduleName, outengineerid, false, smEntity.FLOWID); #region //审核信息表 AptitudeinvestigateauditEntity aidEntity = new AptitudeinvestigateauditEntity(); aidEntity.AUDITRESULT = aentity.AUDITRESULT; //通过 aidEntity.AUDITTIME = Convert.ToDateTime(aentity.AUDITTIME.Value.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("HH:mm:ss")); //审核时间 aidEntity.AUDITPEOPLE = aentity.AUDITPEOPLE; //审核人员姓名 aidEntity.AUDITPEOPLEID = aentity.AUDITPEOPLEID; //审核人员id aidEntity.APTITUDEID = keyValue; //关联的业务ID aidEntity.AUDITDEPTID = aentity.AUDITDEPTID; //审核部门id aidEntity.AUDITDEPT = aentity.AUDITDEPT; //审核部门 aidEntity.AUDITOPINION = aentity.AUDITOPINION; //审核意见 aidEntity.FlowId = smEntity.FLOWID; aentity.AUDITSIGNIMG = HttpUtility.UrlDecode(aentity.AUDITSIGNIMG); aidEntity.AUDITSIGNIMG = string.IsNullOrWhiteSpace(aentity.AUDITSIGNIMG) ? "" : aentity.AUDITSIGNIMG.ToString().Replace("../..", ""); if (null != mpcEntity) { aidEntity.REMARK = (mpcEntity.AUTOID.Value - 1).ToString(); //备注 存流程的顺序号 } else { aidEntity.REMARK = "7"; } aptitudeinvestigateauditservice.SaveForm(aidEntity.ID, aidEntity); #endregion #region //保存安全技术交底 //审核通过 if (aentity.AUDITRESULT == "0") { //0表示流程未完成,1表示流程结束 if (null != mpcEntity) { smEntity.STATUS = 1; smEntity.FLOWID = mpcEntity.ID; } else { smEntity.STATUS = 3; smEntity.FLOWID = ""; } } else //审核不通过 { smEntity.ISSUBMIT = 0; smEntity.STATUS = 0; smEntity.FLOWID = ""; } #endregion #region //审核不通过 if (aentity.AUDITRESULT == "1") { //添加历史记录 HistoryTechDisclosureEntity hsentity = new HistoryTechDisclosureEntity(); hsentity = JsonConvert.DeserializeObject <HistoryTechDisclosureEntity>(JsonConvert.SerializeObject(smEntity)); hsentity.ID = ""; hsentity.RecId = smEntity.ID; historytechdisclosureservice.SaveForm(hsentity.ID, hsentity); //获取当前业务对象的所有审核记录 var shlist = aptitudeinvestigateauditservice.GetAuditList(keyValue); //批量更新审核记录关联ID foreach (AptitudeinvestigateauditEntity mode in shlist) { mode.APTITUDEID = hsentity.ID; //对应新的ID aptitudeinvestigateauditservice.SaveForm(mode.ID, mode); } //批量更新附件记录关联ID var flist = fileinfoservice.GetImageListByObject(keyValue); foreach (FileInfoEntity fmode in flist) { fmode.RecId = hsentity.ID; //对应新的ID fileinfoservice.SaveForm("", fmode); } } #endregion //更新安全技术交底基本状态信息 smEntity.Modify(keyValue); this.BaseRepository().Update(smEntity); #region 更新工程流程状态 if (smEntity.STATUS == 3 && smEntity.PROJECTID != "" && smEntity.PROJECTID != null) { Repository <StartappprocessstatusEntity> proecss = new Repository <StartappprocessstatusEntity>(DbFactory.Base()); StartappprocessstatusEntity startProecss = proecss.FindList(string.Format("select * from epg_startappprocessstatus t where t.outengineerid='{0}'", smEntity.PROJECTID)).ToList().FirstOrDefault(); startProecss.TECHNICALSTATUS = "1"; var res = DbFactory.Base().BeginTrans(); res.Update <StartappprocessstatusEntity>(startProecss); } #endregion } catch (Exception ex) { throw ex; } }