/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, HTAcceptInfoEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
public ActionResult SaveForm(string keyValue, HtReCheckEntity entity, HTChangeInfoEntity centity, HTBaseInfoEntity bentity) { Operator curUser = OperatorProvider.Provider.Current(); string RECHECKID = Request.Form["RECHECKID"] != null ? Request.Form["RECHECKID"].ToString() : ""; //复查验证ID string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; //整改ID string participant = string.Empty; //获取流程下一节点的参与人员 string wfFlag = string.Empty; //流程标识 var baseEntity = htbaseinfobll.GetEntity(keyValue); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = bentity.MAJORCLASSIFY; wfentity.argument3 = bentity.HIDTYPE; //隐患类别 wfentity.argument4 = bentity.HIDBMID; //所属部门 wfentity.startflow = baseEntity.WORKSTREAM; wfentity.rankid = baseEntity.HIDRANK; wfentity.user = curUser; wfentity.organizeid = baseEntity.HIDDEPART; //对应电厂id //省级登记的 if (baseEntity.ADDTYPE == "2") { wfentity.mark = "省级隐患排查"; } else //厂级 { wfentity.mark = "厂级隐患排查"; } //复查通过 if (entity.RECHECKSTATUS == "1") { wfentity.submittype = "提交"; } else //复查不通过 { wfentity.submittype = "退回"; } //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //返回操作结果成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; //如果是更改状态 if (result.ischangestatus) { if (!string.IsNullOrEmpty(participant)) { //提交流程 int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { //保存复查验证 if (!string.IsNullOrEmpty(RECHECKID)) { var tempEntity = htrecheckbll.GetEntity(RECHECKID); entity.AUTOID = tempEntity.AUTOID; } htrecheckbll.SaveForm(RECHECKID, entity); //保存信息 htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 #region 退回后重新新增整改记录及整改效果评估记录 if (wfentity.submittype == "退回") { string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "隐患整改") { //整改记录 HTChangeInfoEntity cEntity = htchangeinfobll.GetEntity(CHANGEID); if (null != cEntity) { HTChangeInfoEntity newEntity = new HTChangeInfoEntity(); newEntity = cEntity; newEntity.CREATEDATE = DateTime.Now; newEntity.MODIFYDATE = DateTime.Now; newEntity.ID = null; newEntity.AUTOID = cEntity.AUTOID + 1; newEntity.CHANGERESUME = null; newEntity.CHANGEFINISHDATE = null; newEntity.REALITYMANAGECAPITAL = 0; newEntity.ATTACHMENT = Guid.NewGuid().ToString(); //整改附件 newEntity.HIDCHANGEPHOTO = Guid.NewGuid().ToString(); //整改图片 newEntity.APPSIGN = "Web"; htchangeinfobll.SaveForm("", newEntity); } } //验收记录 HTAcceptInfoEntity htacceptinfoentity = htacceptinfobll.GetEntityByHidCode(baseEntity.HIDCODE); if (null != htacceptinfoentity) { HTAcceptInfoEntity accptEntity = new HTAcceptInfoEntity(); accptEntity = htacceptinfoentity; accptEntity.ID = null; accptEntity.AUTOID = htacceptinfoentity.AUTOID + 1; accptEntity.CREATEDATE = DateTime.Now; accptEntity.MODIFYDATE = DateTime.Now; accptEntity.ACCEPTSTATUS = null; accptEntity.ACCEPTIDEA = null; accptEntity.ACCEPTPHOTO = Guid.NewGuid().ToString(); accptEntity.APPSIGN = "Web"; htacceptinfobll.SaveForm("", accptEntity); } } #endregion } return(Success(result.message)); } else { return(Error("目标流程参与者未定义")); } } else { //保存复查验证 if (!string.IsNullOrEmpty(RECHECKID)) { var tempEntity = htrecheckbll.GetEntity(RECHECKID); entity.AUTOID = tempEntity.AUTOID; } htrecheckbll.SaveForm(RECHECKID, entity); //保存信息 //获取 htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); return(Success(result.message)); } } else { return(Error(result.message)); } }
public ActionResult SaveForm(string keyValue, HTExtensionEntity entity) { Operator curUser = new OperatorProvider().Current(); string postPoneResult = Request.Form["POSTPONERESULT"].ToString(); //审批结果 var bsentity = htbaseinfobll.GetEntity(keyValue); //根据id获取隐患对象 //string postponereason = Request.Form["POSTPONEREASON"].ToString(); //审批意见 string rankname = string.Empty; bool isUpdateDate = false; string participant = string.Empty; string wfFlag = string.Empty; string hidcode = bsentity.HIDCODE; try { WfControlResult result = new WfControlResult(); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; // wfentity.startflow = "整改延期审批"; wfentity.submittype = "提交"; wfentity.rankid = bsentity.HIDRANK; wfentity.user = curUser; wfentity.mark = "整改延期流程"; wfentity.organizeid = bsentity.HIDDEPART; //对应电厂id HTChangeInfoEntity cEntity = htchangeinfobll.GetEntityByHidCode(hidcode); //是否通过 if (postPoneResult == "1") { //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; cEntity.POSTPONEPERSON = "," + participant + ","; // 用于当前人账户判断是否具有操作其权限 cEntity.POSTPONEDAYS = cEntity.POSTPONEDAYS; //申请天数 cEntity.POSTPONEDEPT = result.deptcode; //审批部门Code cEntity.POSTPONEDEPTNAME = result.deptname; //审批部门名称 cEntity.POSTPONEPERSONNAME = result.username; //审批人 cEntity.APPLICATIONSTATUS = wfFlag; //延期通过 } else { return(Error(result.message)); } } else { cEntity.APPLICATIONSTATUS = "3"; //延期申请失败 //延期失败保存整改人相关信息到result,用于极光推送 UserEntity changeUser = userbll.GetEntity(cEntity.CHANGEPERSON); if (null != changeUser) { result.actionperson = changeUser.Account; result.username = cEntity.CHANGEPERSONNAME; result.deptname = cEntity.CHANGEDUTYDEPARTNAME; result.deptid = changeUser.DepartmentId; result.deptcode = cEntity.CHANGEDUTYDEPARTCODE; } } //延期成功 if (wfFlag == "2" && postPoneResult == "1") { isUpdateDate = true; } //如果安环部、生技部审批通过,则更改整改截至时间、验收时间,增加相应的整改天数 if (isUpdateDate) { //重新赋值整改截至时间 cEntity.CHANGEDEADINE = cEntity.CHANGEDEADINE.Value.AddDays(cEntity.POSTPONEDAYS); //更新验收时间 HTAcceptInfoEntity aEntity = htacceptinfobll.GetEntityByHidCode(hidcode); if (null != aEntity.ACCEPTDATE) { aEntity.ACCEPTDATE = aEntity.ACCEPTDATE.Value.AddDays(cEntity.POSTPONEDAYS); } htacceptinfobll.SaveForm(aEntity.ID, aEntity); entity.HANDLESIGN = "1"; //成功标记 } cEntity.APPSIGN = "Web"; //更新整改信息 htchangeinfobll.SaveForm(cEntity.ID, cEntity); //添加审批记录 entity.APPSIGN = "Web"; string nextName = string.Empty; //成功 if (wfFlag == "2" && postPoneResult == "1") { entity.HANDLETYPE = wfFlag; //处理类型 0 申请 1 审批 2 整改结束 wfFlag状态返回 2 时表示整改延期完成 } //审批中 else if (wfFlag != "2" && postPoneResult == "1") { entity.HANDLETYPE = "1"; //审批中 nextName = "整改延期审批"; } else //失败 { if (postPoneResult == "0") { entity.HANDLETYPE = "-1"; //失败 nextName = "整改延期退回"; } } entity.POSTPONERESULT = postPoneResult; //申请结果 htextensionbll.SaveForm("", entity); //极光推送 htworkflowbll.PushMessageForWorkFlow("隐患处理审批", nextName, wfentity, result); } catch (Exception ex) { return(Error(ex.Message.ToString())); } return(Success("操作成功。")); }
public ActionResult ToTargetContent(string keyValue, int mode) { //当前用户 Operator curUser = OperatorProvider.Provider.Current(); var entity = findquestioninfobll.GetEntity(keyValue); //发现问题对象 var userInfo = userbll.GetUserInfoEntity(entity.CREATEUSERID); //创建人对象 List <FileInfoEntity> filelist = fileinfobll.GetImageListByObject(entity.QUESTIONPIC).ToList(); //问题图片集合 string resultMsg = string.Empty; //返回结果信息 bool isSucess = false; //创建流程是否成功 bool isSucessful = true; //返回流程推进结果 string wfFlag = string.Empty; //流程流转标记 string participant = string.Empty; //下一步流程参与者 string workFlow = string.Empty; //流程实例代码 string applicationId = string.Empty; //关联的应用id string applicationType = string.Empty; //关联的应用类型 WfControlObj wfentity = new WfControlObj(); WfControlResult result = new WfControlResult(); switch (mode) { //转隐患 case 0: applicationType = "yh"; #region 转隐患 string HidCode = DateTime.Now.ToString("yyyyMMddHHmmssfff").ToString(); try { #region 隐患基本信息 HTBaseInfoEntity bentity = new HTBaseInfoEntity(); bentity.ADDTYPE = "0"; bentity.CREATEUSERID = userInfo.UserId; bentity.CREATEUSERNAME = userInfo.RealName; bentity.CREATEUSERDEPTCODE = userInfo.DepartmentCode; bentity.CREATEUSERORGCODE = userInfo.OrganizeCode; bentity.HIDCODE = HidCode; bentity.HIDDEPART = userInfo.OrganizeId; bentity.HIDDEPARTNAME = userInfo.OrganizeName; bentity.HIDPHOTO = Guid.NewGuid().ToString(); //图片 foreach (FileInfoEntity fentity in filelist) { string sourcefile = Server.MapPath(fentity.FilePath); string targetFileName = Guid.NewGuid().ToString() + "." + fentity.FileType; string targetUrl = fentity.FilePath.Substring(0, fentity.FilePath.LastIndexOf("/")); if (System.IO.File.Exists(sourcefile)) { System.IO.FileInfo sfileInfo = new System.IO.FileInfo(sourcefile); string targetDir = sfileInfo.DirectoryName; string targetFile = targetDir + "\\" + targetFileName; System.IO.File.Copy(sourcefile, targetFile); } FileInfoEntity newfileEntity = new FileInfoEntity(); newfileEntity = fentity; newfileEntity.FilePath = targetUrl + "/" + targetFileName; newfileEntity.FileId = string.Empty; newfileEntity.RecId = bentity.HIDPHOTO; fileinfobll.SaveForm("", newfileEntity); } bentity.HIDBMID = entity.DEPTID; //所属部门id bentity.HIDBMNAME = entity.DEPTNAME; //所属部门名称 bentity.HIDDESCRIBE = entity.QUESTIONCONTENT; //隐患描述(问题内容) //排查信息 bentity.CHECKDATE = DateTime.Now; bentity.CHECKMAN = userInfo.UserId; bentity.CHECKMANNAME = userInfo.RealName; bentity.CHECKDEPARTID = userInfo.DepartmentCode; bentity.CHECKDEPARTNAME = userInfo.DeptName; //bentity.CHECKTYPE = dataitemdetailbll.GetDataItemListByItemCode("'SaftyCheckType'").Where(p => p.ItemName.Contains("日常")).FirstOrDefault().ItemDetailId; //检查类型 //添加 htbaseinfobll.SaveForm("", bentity); applicationId = bentity.ID; #endregion #region 创建隐患流程 workFlow = "01"; //隐患处理 isSucess = htworkflowbll.CreateWorkFlowObj(workFlow, applicationId, userInfo.UserId); if (isSucess) { htworkflowbll.UpdateWorkStreamByObjectId(applicationId); //更新业务流程状态 } #endregion #region 整改信息 HTChangeInfoEntity centity = new HTChangeInfoEntity(); centity.HIDCODE = HidCode; htchangeinfobll.SaveForm("", centity); #endregion #region 验收信息 HTAcceptInfoEntity aentity = new HTAcceptInfoEntity(); aentity.HIDCODE = HidCode; htacceptinfobll.SaveForm("", aentity); #endregion #region 推进流程 wfentity.businessid = applicationId; //隐患主键 wfentity.argument1 = string.Empty; //专业分类 wfentity.argument2 = userInfo.DepartmentId; //当前部门 wfentity.argument3 = string.Empty; //隐患类别 wfentity.argument4 = bentity.HIDBMID; //所属部门 wfentity.startflow = "隐患登记"; wfentity.submittype = "提交"; wfentity.rankid = string.Empty; wfentity.spuser = userInfo; wfentity.mark = "厂级隐患排查"; wfentity.organizeid = bentity.HIDDEPART; //对应电厂id //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, applicationId, participant, wfFlag, userInfo.UserId); if (count > 0) { htworkflowbll.UpdateWorkStreamByObjectId(applicationId); //更新业务流程状态 } } else { isSucessful = false; resultMsg = "请联系系统管理员,添加本单位及相关单位评估人员!"; } resultMsg = "已成功转为隐患,并进入对应流程,请知晓"; } else { isSucessful = false; resultMsg = result.message; } #endregion } catch (Exception ex) { isSucessful = false; resultMsg = ex.Message; } #endregion break; //转违章 case 1: applicationType = "wz"; #region 转违章 try { #region 违章基础信息 string lenNum = !string.IsNullOrEmpty(dataitemdetailbll.GetItemValue("LllegalSerialNumberLen")) ? dataitemdetailbll.GetItemValue("LllegalSerialNumberLen") : "3"; LllegalRegisterEntity wzentity = new LllegalRegisterEntity(); wzentity.ADDTYPE = "0"; wzentity.LLLEGALNUMBER = lllegalregisterbll.GenerateHidCode("bis_lllegalregister", "lllegalnumber", int.Parse(lenNum)); //违章编码 wzentity.CREATEUSERID = userInfo.UserId; wzentity.CREATEUSERNAME = userInfo.RealName; wzentity.CREATEUSERDEPTCODE = userInfo.DepartmentCode; wzentity.CREATEUSERORGCODE = userInfo.OrganizeCode; wzentity.CREATEDEPTID = userInfo.DepartmentId; wzentity.CREATEDEPTNAME = userInfo.DeptName; //所属单位 wzentity.BELONGDEPARTID = userInfo.OrganizeId; wzentity.BELONGDEPART = userInfo.OrganizeName; wzentity.LLLEGALPIC = Guid.NewGuid().ToString(); foreach (FileInfoEntity fentity in filelist) { string sourcefile = Server.MapPath(fentity.FilePath); string targetFileName = Guid.NewGuid().ToString() + "." + fentity.FileType; string targetUrl = fentity.FilePath.Substring(0, fentity.FilePath.LastIndexOf("/")); if (System.IO.File.Exists(sourcefile)) { System.IO.FileInfo sfileInfo = new System.IO.FileInfo(sourcefile); string targetDir = sfileInfo.DirectoryName; string targetFile = targetDir + "\\" + targetFileName; System.IO.File.Copy(sourcefile, targetFile); } FileInfoEntity newfileEntity = new FileInfoEntity(); newfileEntity = fentity; newfileEntity.FilePath = targetUrl + "/" + targetFileName; newfileEntity.FileId = string.Empty; newfileEntity.RecId = wzentity.LLLEGALPIC; fileinfobll.SaveForm("", newfileEntity); } wzentity.LLLEGALDESCRIBE = entity.QUESTIONCONTENT; lllegalregisterbll.SaveForm("", wzentity); applicationId = wzentity.ID; #endregion #region 创建流程 workFlow = "03"; isSucess = htworkflowbll.CreateWorkFlowObj(workFlow, applicationId, userInfo.UserId); if (isSucess) { lllegalregisterbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", applicationId); //更新业务流程状态 } #endregion if (!string.IsNullOrEmpty(wzentity.ID)) { wzentity = lllegalregisterbll.GetEntity(wzentity.ID); } #region 违章整改信息 LllegalReformEntity reformEntity = new LllegalReformEntity(); reformEntity.LLLEGALID = applicationId; lllegalreformbll.SaveForm("", reformEntity); #endregion #region 违章验收信息 LllegalAcceptEntity acceptEntity = new LllegalAcceptEntity(); acceptEntity.LLLEGALID = applicationId; lllegalacceptbll.SaveForm("", acceptEntity); #endregion #region 推进流程 wfentity.businessid = applicationId; //主键 wfentity.argument3 = userInfo.DepartmentId; //当前部门id wfentity.startflow = wzentity.FLOWSTATE; wfentity.submittype = "提交"; wfentity.rankid = null; wfentity.spuser = userInfo; wfentity.mark = "厂级违章流程"; wfentity.organizeid = wzentity.BELONGDEPARTID; //对应电厂id //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; //提交流程到下一节点 if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, applicationId, participant, wfFlag, userInfo.UserId); if (count > 0) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", applicationId); //更新业务流程状态 } } resultMsg = "已成功转为违章,并进入对应流程,请知晓"; } else { isSucessful = false; resultMsg = result.message; } #endregion } catch (Exception ex) { isSucessful = false; resultMsg = ex.Message; } #endregion break; //转问题 case 2: applicationType = "wt"; #region 转问题 try { #region 基础信息 QuestionInfoEntity qtEntity = new QuestionInfoEntity(); qtEntity.QUESTIONNUMBER = questioninfobll.GenerateCode("bis_questioninfo", "questionnumber", 4); qtEntity.CREATEUSERID = userInfo.UserId; qtEntity.CREATEUSERNAME = userInfo.RealName; qtEntity.CREATEUSERDEPTCODE = userInfo.DepartmentCode; qtEntity.CREATEUSERORGCODE = userInfo.OrganizeCode; qtEntity.BELONGDEPTID = userInfo.OrganizeId; qtEntity.BELONGDEPTNAME = userInfo.OrganizeName; qtEntity.QUESTIONPIC = Guid.NewGuid().ToString(); foreach (FileInfoEntity fentity in filelist) { string sourcefile = Server.MapPath(fentity.FilePath); string targetFileName = Guid.NewGuid().ToString() + "." + fentity.FileType; string targetUrl = fentity.FilePath.Substring(0, fentity.FilePath.LastIndexOf("/")); if (System.IO.File.Exists(sourcefile)) { System.IO.FileInfo sfileInfo = new System.IO.FileInfo(sourcefile); string targetDir = sfileInfo.DirectoryName; string targetFile = targetDir + "\\" + targetFileName; System.IO.File.Copy(sourcefile, targetFile); } FileInfoEntity newfileEntity = new FileInfoEntity(); newfileEntity = fentity; newfileEntity.FilePath = targetUrl + "/" + targetFileName; newfileEntity.FileId = string.Empty; newfileEntity.RecId = qtEntity.QUESTIONPIC; fileinfobll.SaveForm("", newfileEntity); } qtEntity.QUESTIONDESCRIBE = entity.QUESTIONCONTENT; qtEntity.CHECKDATE = DateTime.Now; qtEntity.CHECKPERSONID = userInfo.UserId; qtEntity.CHECKPERSONNAME = userInfo.RealName; qtEntity.CHECKDEPTID = userInfo.DepartmentId; qtEntity.CHECKDEPTNAME = userInfo.DeptName; //qtEntity.CHECKTYPE = dataitemdetailbll.GetDataItemListByItemCode("'SaftyCheckType'").Where(p => p.ItemName.Contains("日常")).FirstOrDefault().ItemDetailId; //检查类型 questioninfobll.SaveForm("", qtEntity); applicationId = qtEntity.ID; #endregion #region 创建流程 workFlow = "09"; //问题处理 isSucess = htworkflowbll.CreateWorkFlowObj(workFlow, applicationId, userInfo.UserId); if (isSucess) { htworkflowbll.UpdateFlowStateByObjectId("bis_questioninfo", "flowstate", applicationId); //更新业务流程状态 } #endregion #region 整改信息 QuestionReformEntity qtreformEntity = new QuestionReformEntity(); qtreformEntity.QUESTIONID = applicationId; questionreformbll.SaveForm("", qtreformEntity); #endregion //极光消息推送 JPushApi.PushMessage(userInfo.Account, userInfo.RealName, "WT001", "您有一条问题需完善,请到问题登记进行处理", "您" + entity.CREATEDATE.Value.ToString("yyyy-MM-dd") + "发现的问题已确定为问题,请您到问题登记下对该问题进行完善并指定对应整改责任人。", applicationId); resultMsg = "已成功转为问题,并进入对应流程,请知晓"; } catch (Exception ex) { isSucessful = false; resultMsg = ex.Message; } #endregion break; } try { if (isSucessful) { //评估阶段转 if (entity.FLOWSTATE == "评估") { #region 推进发现问题流程 wfentity = new WfControlObj(); wfentity.businessid = keyValue; // wfentity.startflow = entity.FLOWSTATE; wfentity.submittype = "提交"; wfentity.rankid = string.Empty; wfentity.user = curUser; wfentity.spuser = null; wfentity.mark = "发现问题流程"; wfentity.organizeid = entity.ORGANIZEID; //对应电厂id //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; //提交流程到下一节点 if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { //返回成功的结果 #region 返回成功的结果 FindQuestionHandleEntity qentity = new FindQuestionHandleEntity(); if (mode == 0) { qentity.HANDLESTATUS = "已转隐患"; } else if (mode == 1) { qentity.HANDLESTATUS = "已转违章"; } else if (mode == 2) { qentity.HANDLESTATUS = "已转问题"; } qentity.HANDLEDATE = DateTime.Now; qentity.HANDLERID = curUser.UserId; qentity.HANDLERNAME = curUser.UserName; qentity.QUESTIONID = keyValue; qentity.RELEVANCEID = applicationId; qentity.RELEVANCETYPE = applicationType; qentity.APPSIGN = "Web"; findquestionhandlebll.SaveForm("", qentity); #endregion htworkflowbll.UpdateFlowStateByObjectId("bis_findquestioninfo", "flowstate", keyValue); //更新业务流程状态 } } return(Success(resultMsg)); } else { return(Error(result.message)); } #endregion } else //结束阶段转 列表转 { //返回成功的结果 #region 返回成功的结果 FindQuestionHandleEntity qentity = new FindQuestionHandleEntity(); if (mode == 0) { qentity.HANDLESTATUS = "已转隐患"; } else if (mode == 1) { qentity.HANDLESTATUS = "已转违章"; } else if (mode == 2) { qentity.HANDLESTATUS = "已转问题"; } qentity.HANDLEDATE = DateTime.Now; qentity.HANDLERID = curUser.UserId; qentity.HANDLERNAME = curUser.UserName; qentity.QUESTIONID = keyValue; qentity.RELEVANCEID = applicationId; qentity.RELEVANCETYPE = applicationType; qentity.APPSIGN = "Web"; findquestionhandlebll.SaveForm("", qentity); #endregion return(Success(resultMsg)); } } else { return(Error(resultMsg)); } } catch (Exception ex) { return(Error(ex.Message)); } }
public ActionResult SubmitForm(string keyValue, HTBaseInfoEntity bEntity, HTChangeInfoEntity entity, HTAcceptInfoEntity aEntity) { Operator curUser = OperatorProvider.Provider.Current(); string CHANGERESULT = Request.Form["CHANGERESULT"] != null ? Request.Form["CHANGERESULT"].ToString() : ""; //整改结果 string ISBACK = Request.Form["ISBACK"] != null ? Request.Form["ISBACK"].ToString() : ""; //是否回退 string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; //整改ID string participant = string.Empty; //获取流程下一节点的参与人员 string wfFlag = string.Empty; //流程标识 try { if (!string.IsNullOrEmpty(CHANGEID)) { var tempEntity = htchangeinfobll.GetEntity(CHANGEID); entity.AUTOID = tempEntity.AUTOID; entity.APPLICATIONSTATUS = tempEntity.APPLICATIONSTATUS; entity.POSTPONEDAYS = tempEntity.POSTPONEDAYS; entity.POSTPONEDEPT = tempEntity.POSTPONEDEPT; entity.POSTPONEDEPTNAME = tempEntity.POSTPONEDEPTNAME; } entity.APPSIGN = "Web"; htchangeinfobll.SaveForm(CHANGEID, entity); //隐患基本信息 var baseEntity = htbaseinfobll.GetEntity(keyValue); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = bEntity.MAJORCLASSIFY; //专业分类 wfentity.argument3 = bEntity.HIDTYPE; //隐患类别 wfentity.argument4 = bEntity.HIDBMID; //所属部门 wfentity.startflow = baseEntity.WORKSTREAM; wfentity.rankid = baseEntity.HIDRANK; wfentity.user = curUser; wfentity.organizeid = baseEntity.HIDDEPART; //对应电厂id if (baseEntity.ADDTYPE == "2") { wfentity.mark = "省级隐患排查"; } else { wfentity.mark = "厂级隐患排查"; } //退回 if (ISBACK == "1") { //历史记录 var changeitem = htchangeinfobll.GetHistoryList(entity.HIDCODE).ToList(); //如果未整改可以退回 if (changeitem.Count() == 0) { wfentity.submittype = "退回"; } else { return(Error("整改过后的隐患无法再次退回!")); } } else //正常提交到验收流程 { wfentity.submittype = "提交"; } //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { //参与者 participant = result.actionperson; //状态 wfFlag = result.wfflag; //如果是更改状态 if (result.ischangestatus) { if (!string.IsNullOrEmpty(participant) && !string.IsNullOrEmpty(wfFlag)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 } string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "制定整改计划" && wfentity.submittype == "退回") { UserInfoEntity userentity = userbll.GetUserInfoByAccount(participant); entity.CHARGEPERSONNAME = userentity.RealName; entity.CHARGEPERSON = userentity.Account; entity.CHARGEDEPTID = userentity.DepartmentId; entity.CHARGEDEPTNAME = userentity.DeptName; entity.ISAPPOINT = "0"; htchangeinfobll.SaveForm(entity.ID, entity); } } } else { //获取 htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); #region 当前还处于隐患整改阶段 if (tagName == "隐患整改") { UserInfoEntity userentity = userbll.GetUserInfoByAccount(participant); entity.CHANGEPERSONNAME = userentity.RealName; entity.CHANGEPERSON = userentity.UserId; entity.CHANGEDUTYDEPARTNAME = userentity.DeptName; entity.CHANGEDUTYDEPARTID = userentity.DepartmentId; entity.CHANGEDUTYDEPARTCODE = userentity.DepartmentCode; entity.CHANGEDUTYTEL = userentity.Telephone; htchangeinfobll.SaveForm(entity.ID, entity); } #endregion } } //非自动处理的流程 else if (result.code == WfCode.NoAutoHandle) { bool isupdate = false;//是否更改流程状态 //退回操作 单独处理 if (ISBACK == "1") { DataTable dt = htworkflowbll.GetBackFlowObjectByKey(keyValue); if (dt.Rows.Count > 0) { wfFlag = dt.Rows[0]["wfflag"].ToString(); //流程走向 participant = dt.Rows[0]["participant"].ToString(); //指向人 isupdate = dt.Rows[0]["isupdate"].ToString() == "1"; //是否更改流程状态 } } //更改流程状态的情况下 if (isupdate) { if (!string.IsNullOrEmpty(participant) && !string.IsNullOrEmpty(wfFlag)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 } string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "制定整改计划" && wfentity.submittype == "退回") { UserInfoEntity userentity = userbll.GetUserInfoByAccount(participant); entity.CHARGEPERSONNAME = userentity.RealName; entity.CHARGEPERSON = userentity.Account; entity.CHARGEDEPTID = userentity.DepartmentId; entity.CHARGEDEPTNAME = userentity.DeptName; entity.ISAPPOINT = "0"; htchangeinfobll.SaveForm(entity.ID, entity); } result.message = "处理成功"; result.code = WfCode.Sucess; } } else { //获取 htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); #region 当前还处于隐患整改阶段 if (tagName == "隐患整改") { UserInfoEntity userentity = userbll.GetUserInfoByAccount(participant); entity.CHANGEPERSONNAME = userentity.RealName; entity.CHANGEPERSON = userentity.UserId; entity.CHANGEDUTYDEPARTNAME = userentity.DeptName; entity.CHANGEDUTYDEPARTID = userentity.DepartmentId; entity.CHANGEDUTYDEPARTCODE = userentity.DepartmentCode; entity.CHANGEDUTYTEL = userentity.Telephone; htchangeinfobll.SaveForm(entity.ID, entity); } #endregion } } if (result.code == WfCode.Sucess) { return(Success(result.message)); } else //其他返回状态 { return(Error(result.message)); } } catch (Exception ex) { return(Error(ex.Message)); } }
public ActionResult SaveSettingForm(string keyCode, HTChangeInfoEntity entity) { Operator curUser = new OperatorProvider().Current(); string hidid = Request.Form["HIDID"] != null ? Request.Form["HIDID"].ToString() : ""; //隐患主键 HTBaseInfoEntity bsentity = new HTBaseInfoBLL().GetEntity(hidid); //主键 string rankname = string.Empty; bool isUpdateDate = false; //是否更新时间 var cEntity = htchangeinfobll.GetEntityByCode(keyCode); //根据HidCode获取整改对象 string postponereason = Request.Form["POSTPONEREASON"] != null ? Request.Form["POSTPONEREASON"].ToString() : ""; string controlmeasure = Request.Form["CONTROLMEASURE"] != null ? Request.Form["CONTROLMEASURE"].ToString() : ""; //管控措施 try { WfControlObj wfentity = new WfControlObj(); wfentity.businessid = hidid; // wfentity.argument1 = bsentity.MAJORCLASSIFY; wfentity.argument3 = bsentity.HIDTYPE; //隐患类别 wfentity.startflow = "整改延期申请"; wfentity.submittype = "提交"; wfentity.rankid = bsentity.HIDRANK; wfentity.user = curUser; wfentity.mark = "整改延期流程"; wfentity.organizeid = bsentity.HIDDEPART; //对应电厂id //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //保存申请记录 HTExtensionEntity exentity = new HTExtensionEntity(); //处理成功 if (result.code == WfCode.Sucess) { string participant = result.actionperson; string wfFlag = result.wfflag; cEntity.POSTPONEPERSON = "," + participant + ","; // 用于当前人账户判断是否具有操作其权限 cEntity.POSTPONEDAYS = entity.POSTPONEDAYS; //申请天数 cEntity.POSTPONEDEPT = result.deptcode; //审批部门Code cEntity.POSTPONEDEPTNAME = result.deptname; //审批部门名称 cEntity.POSTPONEPERSONNAME = result.username; cEntity.APPLICATIONSTATUS = wfFlag; //是否更新时间,累加天数 if (wfFlag == "2") { isUpdateDate = true; } //如果安环部、生技部审批通过,则更改整改截至时间、验收时间,增加相应的整改天数 if (isUpdateDate) { //重新赋值整改截至时间 cEntity.CHANGEDEADINE = cEntity.CHANGEDEADINE.Value.AddDays(cEntity.POSTPONEDAYS); //更新验收时间 HTAcceptInfoEntity aEntity = htacceptinfobll.GetEntityByHidCode(keyCode); if (null != aEntity.ACCEPTDATE) { aEntity.ACCEPTDATE = aEntity.ACCEPTDATE.Value.AddDays(cEntity.POSTPONEDAYS); } htacceptinfobll.SaveForm(aEntity.ID, aEntity); exentity.HANDLESIGN = "1"; //成功标记 } cEntity.APPSIGN = "Web"; //更新整改信息 htchangeinfobll.SaveForm(cEntity.ID, cEntity); //更新延期设置 exentity.HIDCODE = cEntity.HIDCODE; exentity.HIDID = hidid; exentity.HANDLEDATE = DateTime.Now; exentity.POSTPONEDAYS = entity.POSTPONEDAYS.ToString(); exentity.HANDLEUSERID = curUser.UserId; exentity.HANDLEUSERNAME = curUser.UserName; exentity.HANDLEDEPTCODE = curUser.DeptCode; exentity.HANDLEDEPTNAME = curUser.DeptName; exentity.HANDLETYPE = "0"; //申请类型 状态返回 2 时表示整改延期完成 (申请) exentity.HANDLEID = DateTime.Now.ToString("yyyyMMddhhmmss").ToString(); exentity.POSTPONEREASON = postponereason; //延期理由 exentity.CONTROLMEASURE = controlmeasure; //临时管控措施 exentity.APPSIGN = "Web"; htextensionbll.SaveForm("", exentity); //极光推送 htworkflowbll.PushMessageForWorkFlow("隐患处理审批", "整改延期审批", wfentity, result); return(Success(result.message)); } else { return(Error(result.message)); } } catch (Exception ex) { return(Error(ex.Message.ToString())); } }
public ActionResult SaveCForm(string keyValue, string isUpSubmit, HTBaseInfoEntity bentity, HTApprovalEntity entity, HTChangeInfoEntity chEntity, HTAcceptInfoEntity aEntity) { Operator curUser = OperatorProvider.Provider.Current(); string wfFlag = string.Empty; //流程标识 IList <UserEntity> ulist = new List <UserEntity>(); #region 保存基本信息 //评估ID string APPROVALID = Request.Form["APPROVALID"] != null ? Request.Form["APPROVALID"].ToString() : ""; string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; string ACCEPTID = Request.Form["ACCEPTID"] != null ? Request.Form["ACCEPTID"].ToString() : ""; APPROVALID = APPROVALID == " " ? "" : APPROVALID; //隐患曝光 string EXPOSURESTATE = Request.Form["EXPOSURESTATE"] != null ? Request.Form["EXPOSURESTATE"].ToString() : ""; //保存隐患基本信息 htbaseinfobll.SaveForm(keyValue, bentity); //隐患整改 if (!string.IsNullOrEmpty(CHANGEID)) { var tempEntity = htchangeinfobll.GetEntity(CHANGEID); chEntity.AUTOID = tempEntity.AUTOID; chEntity.BACKREASON = ""; //回退原因 chEntity.APPLICATIONSTATUS = tempEntity.APPLICATIONSTATUS; chEntity.POSTPONEDAYS = tempEntity.POSTPONEDAYS; chEntity.POSTPONEDEPT = tempEntity.POSTPONEDEPT; chEntity.POSTPONEDEPTNAME = tempEntity.POSTPONEDEPTNAME; } htchangeinfobll.SaveForm(CHANGEID, chEntity); //隐患验收 if (!string.IsNullOrEmpty(ACCEPTID)) { var tempEntity = htacceptinfobll.GetEntity(ACCEPTID); aEntity.AUTOID = tempEntity.AUTOID; } htacceptinfobll.SaveForm(ACCEPTID, aEntity); #endregion string participant = string.Empty; //获取流程下一节点的参与人员 bool isgoback = false; WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; string startflow = htbaseinfobll.GetEntity(keyValue).WORKSTREAM; wfentity.startflow = startflow; wfentity.rankid = bentity.HIDRANK; wfentity.user = curUser; wfentity.mark = "省级隐患排查"; wfentity.organizeid = bentity.HIDDEPART; //对应电厂id //返回结果 WfControlResult result = new WfControlResult(); if (isUpSubmit == "1") //上报,且存在上级部门 { wfentity.submittype = "上报"; } else //不上报,评估通过需要提交整改,评估不通过退回到登记 { /****判断当前人是否评估通过*****/ #region 判断当前人是否评估通过 //评估通过,则直接进行整改 if (entity.APPROVALRESULT == "1") { wfentity.submittype = "提交"; } else //评估不通过,退回到登记 { wfentity.submittype = "退回"; isgoback = true; } #endregion } //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //返回操作结果成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; //更改状态 if (result.ischangestatus) { if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { //保存隐患评估信息 htapprovebll.SaveForm(APPROVALID, entity); htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 } else { return(Error("当前用户无评估权限!")); } } } else //不更改状态 { if (!string.IsNullOrEmpty(participant)) { //保存隐患评估信息 htapprovebll.SaveForm(APPROVALID, entity); htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); } } return(Success(result.message)); } else { return(Error(result.message)); } }
public ActionResult SaveForm(string keyValue, string isUpSubmit, HTBaseInfoEntity bentity, HTApprovalEntity entity, HTChangeInfoEntity chEntity, HTAcceptInfoEntity aEntity) { Operator curUser = OperatorProvider.Provider.Current(); string wfFlag = string.Empty; //流程标识 #region 保存基本信息 //评估ID string APPROVALID = Request.Form["APPROVALID"] != null ? Request.Form["APPROVALID"].ToString() : ""; string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; string ACCEPTID = Request.Form["ACCEPTID"] != null ? Request.Form["ACCEPTID"].ToString() : ""; APPROVALID = APPROVALID == " " ? "" : APPROVALID; //隐患曝光 string EXPOSURESTATE = Request.Form["EXPOSURESTATE"] != null ? Request.Form["EXPOSURESTATE"].ToString() : ""; //设备 if (string.IsNullOrEmpty(bentity.DEVICEID)) { bentity.DEVICEID = string.Empty; } if (string.IsNullOrEmpty(bentity.DEVICENAME)) { bentity.DEVICENAME = string.Empty; } if (string.IsNullOrEmpty(bentity.DEVICECODE)) { bentity.DEVICECODE = string.Empty; } //保存隐患基本信息 htbaseinfobll.SaveForm(keyValue, bentity); //隐患整改 if (!string.IsNullOrEmpty(CHANGEID)) { var tempEntity = htchangeinfobll.GetEntity(CHANGEID); chEntity.AUTOID = tempEntity.AUTOID; chEntity.BACKREASON = ""; //回退原因 chEntity.APPLICATIONSTATUS = tempEntity.APPLICATIONSTATUS; chEntity.POSTPONEDAYS = tempEntity.POSTPONEDAYS; chEntity.POSTPONEDEPT = tempEntity.POSTPONEDEPT; chEntity.POSTPONEDEPTNAME = tempEntity.POSTPONEDEPTNAME; } htchangeinfobll.SaveForm(CHANGEID, chEntity); //隐患验收 if (!string.IsNullOrEmpty(ACCEPTID)) { var tempEntity = htacceptinfobll.GetEntity(ACCEPTID); aEntity.AUTOID = tempEntity.AUTOID; } htacceptinfobll.SaveForm(ACCEPTID, aEntity); #endregion string participant = string.Empty; //获取流程下一节点的参与人员 HTBaseInfoEntity baseEntity = htbaseinfobll.GetEntity(keyValue); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = bentity.MAJORCLASSIFY; //专业分类 wfentity.argument2 = curUser.DeptId; //当前部门 wfentity.argument3 = bentity.HIDTYPE; //隐患类别 wfentity.argument4 = bentity.HIDBMID; //所属部门 string startflow = baseEntity.WORKSTREAM; wfentity.startflow = startflow; wfentity.rankid = baseEntity.HIDRANK; wfentity.user = curUser; wfentity.mark = "厂级隐患排查"; wfentity.organizeid = baseEntity.HIDDEPART; //对应电厂id //返回结果 WfControlResult result = new WfControlResult(); if (isUpSubmit == "1") //上报,且存在上级部门 { #region 报 wfentity.submittype = "上报"; //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; //目标流程参与者 if (!string.IsNullOrEmpty(participant)) { //保存隐患评估信息 htapprovebll.SaveForm(APPROVALID, entity); htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); return(Success(result.message)); } else { return(Error("当前上级部门无评估人员,如需上报,请联系系统管理员进行配置!")); } } else { return(Error(result.message)); } #endregion } else //不上报,评估通过需要提交整改,评估不通过退回到登记 { /****判断当前人是否评估通过*****/ #region 判断当前人是否评估通过 //评估通过,则直接进行整改 if (entity.APPROVALRESULT == "1") { wfentity.submittype = "提交"; //不指定整改责任人 if (chEntity.ISAPPOINT == "0") { wfentity.submittype = "制定提交"; } //判断是否是同级提交 bool ismajorpush = GetCurUserWfAuth(baseEntity.HIDRANK, "隐患评估", "隐患评估", "厂级隐患排查", "同级提交", baseEntity.MAJORCLASSIFY, null, null, keyValue); if (ismajorpush) { wfentity.submittype = "同级提交"; } #region 国电新疆版本 if (baseEntity.ADDTYPE == "3") { //非本部门整改 if (baseEntity.ISSELFCHANGE == "0") { wfentity.submittype = "制定提交"; //如果已经制定了整改计划,则按照提交来进行推送 if (baseEntity.ISFORMULATE == "1") { wfentity.submittype = "提交"; } //如果当前评估部门是整改部门,则直接提交 if (curUser.DeptId == chEntity.CHANGEDUTYDEPARTID) { wfentity.submittype = "提交"; } //如果当前评估部门是创建部门,则直接提交至非本部门整改的安监部 if (curUser.DeptCode == baseEntity.CREATEUSERDEPTCODE) { wfentity.submittype = "制定提交"; } } else //本部门整改情况下, 公司级用户不管如何,都不会直接到生技部 { UserEntity userEntity = userbll.GetEntity(baseEntity.CREATEUSERID); if (userEntity.RoleName.Contains("公司级用户") && curUser.RoleName.Contains("公司级用户")) { wfentity.submittype = "制定提交"; } } } #endregion } else //评估不通过,退回到登记 { wfentity.submittype = "退回"; #region 国电新疆版本 if (baseEntity.ADDTYPE == "3") { //已经制定了整改计划,则按照制定计划退回 if (baseEntity.ISFORMULATE == "1") { wfentity.submittype = "制定退回"; } } #endregion } //获取下一流程的操作人 result = wfcontrolbll.GetWfControl(wfentity); //处理成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; if (!string.IsNullOrEmpty(participant)) { //如果是更改状态 if (result.ischangestatus) { int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { //保存隐患评估信息 htapprovebll.SaveForm(APPROVALID, entity); htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 return(Success(result.message)); } else { return(Error("当前用户无评估权限!")); } } else //不更改状态的情况下 { //保存隐患评估信息 htapprovebll.SaveForm(APPROVALID, entity); htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); return(Success(result.message)); } } else { return(Error("目标流程参与者未定义!")); } } else { return(Error(result.message)); } #endregion } }
public ActionResult SaveForm(string keyValue, HTBaseInfoEntity bentity, HTAcceptInfoEntity entity, HTChangeInfoEntity centity) { Operator curUser = OperatorProvider.Provider.Current(); string ACCEPTID = Request.Form["ACCEPTID"] != null ? Request.Form["ACCEPTID"].ToString() : ""; //验收ID string ACCEPTSTATUS = Request.Form["ACCEPTSTATUS"] != null ? Request.Form["ACCEPTSTATUS"].ToString() : ""; //验收情况 string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; //整改ID string participant = string.Empty; //获取流程下一节点的参与人员 string wfFlag = string.Empty; //流程标识 string IIMajorRisks = dataitemdetailbll.GetItemValue("IIMajorRisks"); //II级重大隐患 string IMajorRisks = dataitemdetailbll.GetItemValue("IMajorRisks"); //I级重大隐患 var baseEntity = htbaseinfobll.GetEntity(keyValue); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = bentity.MAJORCLASSIFY; //专业分类 wfentity.argument3 = bentity.HIDTYPE; //隐患类别 wfentity.argument4 = bentity.HIDBMID; //所属部门 wfentity.startflow = baseEntity.WORKSTREAM; wfentity.rankid = baseEntity.HIDRANK; wfentity.user = curUser; wfentity.organizeid = baseEntity.HIDDEPART; //对应电厂id //省级登记的 if (baseEntity.ADDTYPE == "2") { wfentity.mark = "省级隐患排查"; } else //厂级 { wfentity.mark = "厂级隐患排查"; } //验收通过 if (ACCEPTSTATUS == "1") { wfentity.submittype = "提交"; } else //验收不通过 { wfentity.submittype = "退回"; } //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //返回操作结果成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; //如果是更改状态 if (result.ischangestatus) { if (!string.IsNullOrEmpty(participant)) { //提交流程 int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { #region 操作其他项目 if (!string.IsNullOrEmpty(ACCEPTID)) { var tempEntity = htacceptinfobll.GetEntity(ACCEPTID); entity.AUTOID = tempEntity.AUTOID; } if (null == entity.ACCEPTDATE) { entity.ACCEPTDATE = DateTime.Now; } htacceptinfobll.SaveForm(ACCEPTID, entity); htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 //退回则重新添加验收记录 if (wfentity.submittype == "退回") { string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "隐患整改") { //整改记录 HTChangeInfoEntity chEntity = htchangeinfobll.GetEntity(CHANGEID); HTChangeInfoEntity newEntity = new HTChangeInfoEntity(); newEntity = chEntity; newEntity.CREATEDATE = DateTime.Now; newEntity.MODIFYDATE = DateTime.Now; newEntity.ID = null; newEntity.AUTOID = chEntity.AUTOID + 1; newEntity.CHANGERESUME = null; newEntity.CHANGEFINISHDATE = null; newEntity.REALITYMANAGECAPITAL = 0; newEntity.ATTACHMENT = Guid.NewGuid().ToString(); //整改附件 newEntity.HIDCHANGEPHOTO = Guid.NewGuid().ToString(); //整改图片 newEntity.APPSIGN = "Web"; htchangeinfobll.SaveForm("", newEntity); } //验收记录 HTAcceptInfoEntity htacceptinfoentity = htacceptinfobll.GetEntityByHidCode(bentity.HIDCODE); HTAcceptInfoEntity accptEntity = new HTAcceptInfoEntity(); accptEntity = htacceptinfoentity; accptEntity.ID = null; accptEntity.AUTOID = htacceptinfoentity.AUTOID + 1; accptEntity.CREATEDATE = DateTime.Now; accptEntity.MODIFYDATE = DateTime.Now; accptEntity.ACCEPTSTATUS = null; accptEntity.ACCEPTIDEA = null; accptEntity.ACCEPTPHOTO = Guid.NewGuid().ToString(); //验收图片 accptEntity.APPSIGN = "Web"; htacceptinfobll.SaveForm("", accptEntity); } #endregion } } else { return(Error("请联系系统管理员,确认是否配置流程所需参与人!")); } } else { //验收信息 if (!string.IsNullOrEmpty(ACCEPTID)) { var tempEntity = htacceptinfobll.GetEntity(ACCEPTID); entity.AUTOID = tempEntity.AUTOID; } if (null == entity.ACCEPTDATE) { entity.ACCEPTDATE = DateTime.Now; } htacceptinfobll.SaveForm(ACCEPTID, entity); //添加下一个验收对象 HTAcceptInfoEntity accptEntity = new HTAcceptInfoEntity(); accptEntity = entity; accptEntity.ID = string.Empty; accptEntity.AUTOID = entity.AUTOID + 1; accptEntity.CREATEDATE = DateTime.Now; accptEntity.MODIFYDATE = DateTime.Now; accptEntity.ACCEPTSTATUS = string.Empty; accptEntity.ACCEPTIDEA = string.Empty; accptEntity.ACCEPTDATE = null; accptEntity.DAMAGEDATE = null; accptEntity.ACCEPTPHOTO = Guid.NewGuid().ToString(); //验收图片 accptEntity.APPSIGN = "Web"; htacceptinfobll.SaveForm("", accptEntity); //获取 htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); } return(Success(result.message)); } else { return(Error(result.message)); } }
public ActionResult SaveForm(string keyValue, HTAcceptInfoEntity atEntity, HTChangeInfoEntity chEntity, HTEstimateEntity entity) { Operator curUser = OperatorProvider.Provider.Current(); string ACCEPTID = Request.Form["ACCEPTID"] != null ? Request.Form["ACCEPTID"].ToString() : ""; //验收ID string ESTIMATEID = Request.Form["ESTIMATEID"] != null ? Request.Form["ESTIMATEID"].ToString() : ""; //整改效果评估ID string ESTIMATERESULT = Request.Form["ESTIMATERESULT"] != null ? Request.Form["ESTIMATERESULT"].ToString() : ""; //评估情况 string CHANGEID = Request.Form["CHANGEID"] != null ? Request.Form["CHANGEID"].ToString() : ""; //整改ID string participant = string.Empty; //获取流程下一节点的参与人员 string wfFlag = string.Empty; //流程标识 var baseEntity = htbaseinfobll.GetEntity(keyValue); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.startflow = baseEntity.WORKSTREAM; wfentity.rankid = baseEntity.HIDRANK; wfentity.user = curUser; wfentity.organizeid = baseEntity.HIDDEPART; //对应电厂id //省级登记的 if (baseEntity.ADDTYPE == "2") { wfentity.mark = "省级隐患排查"; } else //厂级 { wfentity.mark = "厂级隐患排查"; } //评估合格 if (ESTIMATERESULT == "1") { wfentity.submittype = "提交"; } else //评估不通过 { wfentity.submittype = "退回"; } //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //返回操作结果成功 if (result.code == WfCode.Sucess) { participant = result.actionperson; wfFlag = result.wfflag; if (!string.IsNullOrEmpty(participant)) { //提交流程 int count = htworkflowbll.SubmitWorkFlow(wfentity, result, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateWorkStreamByObjectId(keyValue); //更新业务流程状态 //保存整改效果评估 if (!string.IsNullOrEmpty(ESTIMATEID)) { var tempEntity = htestimatebll.GetEntity(ESTIMATEID); entity.AUTOID = tempEntity.AUTOID; } htestimatebll.SaveForm(ESTIMATEID, entity); //退回后重新新增整改记录及整改效果评估记录 if (wfentity.submittype == "退回") { string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "隐患整改") { //整改记录 HTChangeInfoEntity cEntity = htchangeinfobll.GetEntity(CHANGEID); HTChangeInfoEntity newEntity = new HTChangeInfoEntity(); newEntity = cEntity; newEntity.CREATEDATE = DateTime.Now; newEntity.MODIFYDATE = DateTime.Now; newEntity.ID = null; newEntity.AUTOID = cEntity.AUTOID + 1; newEntity.CHANGERESUME = null; newEntity.CHANGEFINISHDATE = null; newEntity.REALITYMANAGECAPITAL = 0; newEntity.ATTACHMENT = Guid.NewGuid().ToString(); //整改附件 newEntity.HIDCHANGEPHOTO = Guid.NewGuid().ToString(); //整改图片 newEntity.APPSIGN = "Web"; htchangeinfobll.SaveForm("", newEntity); } HTAcceptInfoEntity htacceptinfoentity = htacceptinfobll.GetEntityByHidCode(baseEntity.HIDCODE); //验收记录 HTAcceptInfoEntity accptEntity = new HTAcceptInfoEntity(); accptEntity = htacceptinfoentity; accptEntity.ID = null; accptEntity.AUTOID = htacceptinfoentity.AUTOID + 1; accptEntity.CREATEDATE = DateTime.Now; accptEntity.MODIFYDATE = DateTime.Now; accptEntity.ACCEPTSTATUS = null; accptEntity.ACCEPTIDEA = null; accptEntity.ACCEPTPHOTO = Guid.NewGuid().ToString(); //验收图片 accptEntity.APPSIGN = "Web"; htacceptinfobll.SaveForm("", accptEntity); } } } else { return(Error("目标流程参与者未定义")); } return(Success(result.message)); } else { return(Error(result.message)); } }