public ActionResult SubmitForm(string keyValue, string value) { LllegalReformEntity cEntity = lllegalreformbll.GetEntityByBid(keyValue); cEntity.POSTPONEDAYS = !string.IsNullOrEmpty(value) ? int.Parse(value) : 0; cEntity.APPLICATIONSTATUS = "1"; //标记正在延期申请之中 lllegalreformbll.SaveForm(cEntity.ID, cEntity); return Success("操作成功。"); }
/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, LllegalReformEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
public ActionResult SaveForm(string keyValue, LllegalReformEntity entity) { Operator curUser = OperatorProvider.Provider.Current(); LllegalReformEntity rEntity = lllegalreformbll.GetEntityByBid(keyValue); rEntity.REFORMFINISHDATE = entity.REFORMFINISHDATE; rEntity.REFORMMEASURE = entity.REFORMMEASURE; rEntity.REFORMSTATUS = entity.REFORMSTATUS; rEntity.MODIFYDATE = DateTime.Now; rEntity.MODIFYUSERID = curUser.UserId; rEntity.MODIFYUSERNAME = curUser.UserName; rEntity.REFORMPIC = entity.REFORMPIC; lllegalreformbll.SaveForm(rEntity.ID, rEntity); return(Success("操作成功。")); }
public ActionResult SubmitForm(string keyValue, LllegalRegisterEntity entity, LllegalApproveEntity pEntity, LllegalPunishEntity pbEntity, LllegalReformEntity rEntity, LllegalAcceptEntity aEntity) { /* * 注:核准分两步 * * 确定为装置类情况下,如果当前核准人是安全管理部门人员, 先判断是否为装置类,如果不是 则直接到整改或退回,如果是,则转发至装置部门 或退回(不是提交) * 如果是非安全管理人员,则提交到安全管理部门人员会退回到登记. */ string errorMsg = string.Empty; Operator curUser = OperatorProvider.Provider.Current(); string wfFlag = string.Empty; //流程标识 string participant = string.Empty; //获取流程下一节点的参与人员 bool isSubmit = true; //是否要执行提交步骤,安全管理部门用于控制装置类违章转发至装置部门 bool isAddScore = false; //是否添加到用户积分 var lllegatypename = dataitemdetailbll.GetEntity(entity.LLLEGALTYPE).ItemName; //不通过,退回到违章登记,不管是I级核准还是II级核准 if (pEntity.APPROVERESULT == "0") { wfFlag = "2"; string createuserid = lllegalregisterbll.GetEntity(keyValue).CREATEUSERID; UserEntity userEntity = userbll.GetEntity(createuserid); participant = userEntity.Account; //登记用户 errorMsg = "登记用户"; } else //核准通过 { // 安全管理部门人员 if (userbll.GetSafetyAndDeviceDept(curUser).Contains("1")) { //当前人有且是装置部门,直接到整改 if (userbll.GetSafetyAndDeviceDept(curUser).Contains("2")) { //取整改人 wfFlag = "1"; // II级核准=>整改 //如果非装置类 则提交到整改 UserEntity reformUser = userbll.GetEntity(rEntity.REFORMPEOPLEID); //整改用户对象 //取整改人 participant = reformUser.Account; errorMsg = "整改责任人"; isAddScore = true; } else { //判断是否装置类违章 if (lllegatypename == dataitemdetailbll.GetItemValue("ApplianceClass")) { //更改核准人账号,变更为装置部门用户 此步步需要更改状态 isSubmit = false; //取装置部门用户 participant = userbll.GetSafetyDeviceDeptUser("1", curUser); errorMsg = "装置部门用户"; } else { //如果是非装置类违章,通过则进行整改 //取整改人 wfFlag = "1"; // II级核准=>整改 //如果非装置类 则提交到整改 UserEntity reformUser = userbll.GetEntity(rEntity.REFORMPEOPLEID); //整改用户对象 //取整改人 participant = reformUser.Account; errorMsg = "整改责任人"; isAddScore = true; } } } //装置用户 else if (userbll.GetSafetyAndDeviceDept(curUser).Contains("2")) { wfFlag = "1"; // II级核准=>整改 //如果非装置类 则提交到整改 UserEntity reformUser = userbll.GetEntity(rEntity.REFORMPEOPLEID); //整改用户对象 //取整改人 participant = reformUser.Account; errorMsg = "整改责任人"; isAddScore = true; } else //其他部门人员 { //上报情况下 if (entity.ISUPSAFETY == "1") { wfFlag = "3"; //取安全管理部门 ,推送至II级核准 //取安全管理部门用户 participant = userbll.GetSafetyDeviceDeptUser("0", curUser); errorMsg = "安全管理部门用户"; } else //不上报情况下,提交到整改 { wfFlag = "1"; //I级核准=>整改 //如果非装置类 则提交到整改 UserEntity reformUser = userbll.GetEntity(rEntity.REFORMPEOPLEID); //整改用户对象 //取整改人 participant = reformUser.Account; errorMsg = "整改责任人"; isAddScore = true; } } } //保存违章基本信息 LllegalRegisterEntity baseentity = lllegalregisterbll.GetEntity(keyValue); entity.AUTOID = baseentity.AUTOID; entity.CREATEDATE = baseentity.CREATEDATE; entity.CREATEUSERDEPTCODE = baseentity.CREATEUSERDEPTCODE; entity.CREATEUSERID = baseentity.CREATEUSERID; entity.CREATEUSERNAME = baseentity.CREATEUSERNAME; entity.CREATEUSERORGCODE = baseentity.CREATEUSERORGCODE; entity.MODIFYDATE = DateTime.Now; entity.MODIFYUSERID = curUser.UserId; entity.MODIFYUSERNAME = curUser.UserName; entity.RESEVERFOUR = ""; entity.RESEVERFIVE = ""; lllegalregisterbll.SaveForm(keyValue, entity); //保存核准基本信息 (不执行真正意义上的提交,则无法进行核准) if (isSubmit) { pEntity.LLLEGALID = keyValue; lllegalapprovebll.SaveForm("", pEntity); //新增考核内容信息(特别针对核准过程) pbEntity.MARK = "1"; //表示考核记录下的 pbEntity.LLLEGALID = keyValue; pbEntity.APPROVEID = pEntity.ID; pbEntity.CREATEDATE = DateTime.Now; pbEntity.CREATEUSERDEPTCODE = curUser.DeptCode; pbEntity.CREATEUSERID = curUser.UserId; pbEntity.CREATEUSERNAME = curUser.UserName; pbEntity.CREATEUSERORGCODE = curUser.OrganizeCode; pbEntity.MODIFYDATE = DateTime.Now; pbEntity.MODIFYUSERID = curUser.UserId; pbEntity.MODIFYUSERNAME = curUser.UserName; lllegalpunishbll.SaveForm("", pbEntity); } //同时对基础的考核内容进行更改相应的惩罚值 LllegalPunishEntity punishEntity = lllegalpunishbll.GetEntityByBid(keyValue); if (null != punishEntity) { //punishEntity.APPROVEID = pEntity.ID; punishEntity.PERSONINCHARGEID = pbEntity.PERSONINCHARGEID; punishEntity.PERSONINCHARGENAME = pbEntity.PERSONINCHARGENAME; punishEntity.ECONOMICSPUNISH = pbEntity.ECONOMICSPUNISH; punishEntity.LLLEGALPOINT = pbEntity.LLLEGALPOINT; punishEntity.AWAITJOB = pbEntity.AWAITJOB; punishEntity.LLLEGAOTHER = pbEntity.LLLEGAOTHER; punishEntity.FIRSTINCHARGEID = pbEntity.FIRSTINCHARGEID; punishEntity.FIRSTINCHARGENAME = pbEntity.FIRSTINCHARGENAME; punishEntity.FIRSTECONOMICSPUNISH = pbEntity.FIRSTECONOMICSPUNISH; punishEntity.FIRSTLLLEGALPOINT = pbEntity.FIRSTLLLEGALPOINT; punishEntity.FIRSTAWAITJOB = pbEntity.FIRSTAWAITJOB; punishEntity.FIRSTOTHER = pbEntity.FIRSTOTHER; punishEntity.SECONDINCHARGEID = pbEntity.SECONDINCHARGEID; punishEntity.SECONDINCHARGENAME = pbEntity.SECONDINCHARGENAME; punishEntity.SECONDECONOMICSPUNISH = pbEntity.SECONDECONOMICSPUNISH; punishEntity.SECONDLLLEGALPOINT = pbEntity.SECONDLLLEGALPOINT; punishEntity.SECONDAWAITJOB = pbEntity.SECONDAWAITJOB; punishEntity.SECONDOTHER = pbEntity.SECONDOTHER; lllegalpunishbll.SaveForm(punishEntity.ID, punishEntity); } // string ReformID = Request.Form["REFORMID"] != null ? Request.Form["REFORMID"].ToString() : ""; //整改ID //违章整改记录 LllegalReformEntity cEntity = lllegalreformbll.GetEntityByBid(keyValue); cEntity.REFORMDEADLINE = rEntity.REFORMDEADLINE; cEntity.REFORMPEOPLE = rEntity.REFORMPEOPLE; cEntity.REFORMPEOPLEID = rEntity.REFORMPEOPLEID; cEntity.REFORMDEPTCODE = rEntity.REFORMDEPTCODE; cEntity.REFORMDEPTNAME = rEntity.REFORMDEPTNAME; cEntity.REFORMTEL = rEntity.REFORMTEL; lllegalreformbll.SaveForm(cEntity.ID, cEntity); // string AcceptID = Request.Form["ACCEPTID"] != null ? Request.Form["ACCEPTID"].ToString() : ""; // 验收ID //隐患验收 LllegalAcceptEntity aptEntity = lllegalacceptbll.GetEntityByBid(keyValue); aptEntity.ACCEPTPEOPLE = aEntity.ACCEPTPEOPLE; aptEntity.ACCEPTPEOPLEID = aEntity.ACCEPTPEOPLEID; aptEntity.ACCEPTDEPTCODE = aEntity.ACCEPTDEPTCODE; aptEntity.ACCEPTDEPTNAME = aEntity.ACCEPTDEPTNAME; aptEntity.ACCEPTTIME = aEntity.ACCEPTTIME; lllegalacceptbll.SaveForm(aptEntity.ID, aptEntity); //添加用户积分关联 if (isAddScore) { lllegalpunishbll.SaveUserScore(pbEntity.PERSONINCHARGEID, entity.LLLEGALLEVEL); lllegalpunishbll.SaveUserScore(pbEntity.FIRSTINCHARGEID, entity.LLLEGALLEVEL); lllegalpunishbll.SaveUserScore(pbEntity.SECONDINCHARGEID, entity.LLLEGALLEVEL); } //确定要提交 if (isSubmit) { //提交流程到下一节点 if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } } else { return(Error("请联系系统管理员,确认" + errorMsg + "!")); } } else //安全管理部门对装置类违章进行转发,转发至装置部门单位下,无需更改流程状态 { bool isSuccess = htworkflowbll.SubmitWorkFlowNoChangeStatus(keyValue, participant, curUser.UserId); if (isSuccess) { return(Success("操作成功!")); } else { return(Error("请联系系统管理员,确认" + errorMsg + "!")); } } return(Success("操作成功!")); }
public ActionResult SubmitForm(string keyValue, LllegalAcceptEntity acceptEntity) { Operator curUser = OperatorProvider.Provider.Current(); WfControlResult result = new WfControlResult(); try { /* * 考虑两种情况 * 当验收不通过,则验收退回到违章整改状态,并进行重新整改 ,这里需要注意,一旦不通过,则重新生成一条整改信息,一条验收信息. * 当验收通过,则整改结束 */ string wfFlag = string.Empty; //流程标识 string participant = string.Empty; //获取流程下一节点的参与人员 (取验收人) LllegalRegisterEntity baseEntity = lllegalregisterbll.GetEntity(keyValue); LllegalAcceptEntity aptEntity = lllegalacceptbll.GetEntityByBid(keyValue); aptEntity.ACCEPTRESULT = acceptEntity.ACCEPTRESULT; aptEntity.ACCEPTMIND = acceptEntity.ACCEPTMIND; aptEntity.MODIFYDATE = DateTime.Now; aptEntity.MODIFYUSERID = curUser.UserId; aptEntity.MODIFYUSERNAME = curUser.UserName; aptEntity.ACCEPTPIC = acceptEntity.ACCEPTPIC; aptEntity.ACCEPTDEPTCODE = acceptEntity.ACCEPTDEPTCODE; aptEntity.ACCEPTDEPTNAME = acceptEntity.ACCEPTDEPTNAME; aptEntity.ACCEPTPEOPLE = acceptEntity.ACCEPTPEOPLE; aptEntity.ACCEPTPEOPLEID = acceptEntity.ACCEPTPEOPLEID; aptEntity.ACCEPTTIME = acceptEntity.ACCEPTTIME; WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = baseEntity.MAJORCLASSIFY; //专业分类 wfentity.startflow = baseEntity.FLOWSTATE; wfentity.rankid = null; wfentity.user = curUser; wfentity.organizeid = baseEntity.BELONGDEPARTID; //对应电厂id //厂级 if (baseEntity.ADDTYPE == "2") { wfentity.mark = "省级违章流程"; } else { wfentity.mark = "厂级违章流程"; } //验收通过 if (acceptEntity.ACCEPTRESULT == "1") { wfentity.submittype = "提交"; } else //验收不通过 { wfentity.submittype = "退回"; } //获取下一流程的操作人 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) { //添加违章验收记录 lllegalacceptbll.SaveForm(aptEntity.ID, aptEntity); htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 //退回则重新添加验收记录 if (wfentity.submittype == "退回") { string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); if (tagName == "违章整改") { LllegalReformEntity reformEntity = lllegalreformbll.GetEntityByBid(keyValue); LllegalReformEntity newEntity = new LllegalReformEntity(); newEntity = reformEntity; newEntity.CREATEDATE = DateTime.Now; newEntity.MODIFYDATE = DateTime.Now; newEntity.MODIFYUSERID = curUser.UserId; newEntity.MODIFYUSERNAME = curUser.UserName; newEntity.REFORMPIC = string.Empty; //重新生成图片GUID newEntity.REFORMATTACHMENT = string.Empty; //整改附件 newEntity.REFORMSTATUS = string.Empty; //整改完成情况 newEntity.REFORMMEASURE = string.Empty; //整改具体措施 newEntity.REFORMFINISHDATE = null; //整改完成时间 newEntity.ID = ""; lllegalreformbll.SaveForm("", newEntity); } //验收记录 LllegalAcceptEntity cptEntity = new LllegalAcceptEntity(); cptEntity = aptEntity; cptEntity.ID = null; cptEntity.CREATEDATE = DateTime.Now; cptEntity.MODIFYDATE = DateTime.Now; cptEntity.ACCEPTRESULT = null; cptEntity.ACCEPTMIND = null; cptEntity.ACCEPTPIC = null; lllegalacceptbll.SaveForm("", cptEntity); } } } else { return(Error(result.message)); } } } catch (Exception ex) { return(Error(ex.Message)); } return(Success((result.message))); }
public ActionResult SubmitForm(string keyValue, LllegalRegisterEntity entity, LllegalReformEntity rEntity, LllegalAcceptEntity acceptEntity) { Operator curUser = OperatorProvider.Provider.Current(); try { //保存退回操作信息 LllegalRegisterEntity baseentity = lllegalregisterbll.GetEntity(keyValue); baseentity.RESEVERFOUR = entity.RESEVERFOUR; baseentity.RESEVERFIVE = entity.RESEVERFIVE; lllegalregisterbll.SaveForm(keyValue, baseentity); //整改信息 LllegalReformEntity rfEntity = lllegalreformbll.GetEntityByBid(keyValue); rfEntity.REFORMFINISHDATE = rEntity.REFORMFINISHDATE; rfEntity.REFORMMEASURE = rEntity.REFORMMEASURE; rfEntity.REFORMSTATUS = rEntity.REFORMSTATUS; rfEntity.MODIFYDATE = DateTime.Now; rfEntity.MODIFYUSERID = curUser.UserId; rfEntity.MODIFYUSERNAME = curUser.UserName; rfEntity.REFORMPIC = rEntity.REFORMPIC; lllegalreformbll.SaveForm(rfEntity.ID, rfEntity); /* * 整改 整改到验收 */ string errorMsg = string.Empty; string wfFlag = string.Empty; string participant = string.Empty; //退回操作 if (entity.RESEVERFOUR == "是") { DataTable dt = htworkflowbll.GetBackFlowObjectByKey(keyValue); if (dt.Rows.Count > 0) { wfFlag = dt.Rows[0]["wfflag"].ToString(); //流程走向 participant = dt.Rows[0]["participant"].ToString(); //指向人 } } else { wfFlag = "1"; //流程标识 //获取验收人 UserEntity userEntity = userbll.GetEntity(acceptEntity.ACCEPTPEOPLEID); //验收人 if (null != userEntity) { participant = userEntity.Account; //获取流程下一节点的参与人员 (取验收人) } } //提交流程到下一节点 if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } } else { return(Error("请联系系统管理员,确认提交问题!")); } } catch (Exception) { throw; } return(Success("操作成功!")); }
public ActionResult SaveForm(string keyValue, LllegalExtensionEntity entity) { Operator curUser = new OperatorProvider().Current(); string postPoneResult = Request.Form["POSTPONERESULT"].ToString(); //审批结果 var bsentity = lllegalregisterbll.GetEntity(keyValue); //根据id获取隐患对象 string postponereason = Request.Form["POSTPONEREASON"].ToString(); //审批意见 string rankname = string.Empty; bool isUpdateDate = false; string participant = string.Empty; string wfFlag =string.Empty; try { WfControlResult result = new WfControlResult(); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; // wfentity.argument1 = bsentity.MAJORCLASSIFY; wfentity.argument2 = bsentity.LLLEGALTYPE; wfentity.startflow = "整改延期审批"; wfentity.submittype = "提交"; wfentity.rankid = null; wfentity.user = curUser; wfentity.mark = "违章整改延期"; wfentity.organizeid = bsentity.BELONGDEPARTID; //对应电厂id LllegalReformEntity cEntity = lllegalreformbll.GetEntityByBid(keyValue); //是否通过 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.REFORMPEOPLEID); //if(null!=changeUser) //{ // result.actionperson = changeUser.Account; // result.username = cEntity.REFORMPEOPLE; // result.deptname = cEntity.REFORMDEPTNAME; // result.deptid = changeUser.DepartmentId; // result.deptcode = cEntity.REFORMDEPTCODE; //} string[] userids = cEntity.REFORMPEOPLEID.Split(','); DataTable userdt = userbll.GetUserTable(userids); foreach (DataRow row in userdt.Rows) { result.actionperson += row["account"].ToString() + ","; result.username += row["realname"].ToString() + ","; if (!result.deptname.Contains(row["deptname"].ToString())) { result.deptname += row["deptname"].ToString() + ","; } if (!result.deptid.Contains(row["departmentid"].ToString())) { result.deptid += row["departmentid"].ToString() + ","; } if (!result.deptcode.Contains(row["departmentcode"].ToString())) { result.deptcode += row["departmentcode"].ToString() + ","; } } if (!string.IsNullOrEmpty(result.actionperson)) { result.actionperson = result.actionperson.Substring(0, result.actionperson.Length - 1); } if (!string.IsNullOrEmpty(result.username)) { result.username = result.username.Substring(0, result.username.Length - 1); } if (!string.IsNullOrEmpty(result.deptname)) { result.deptname = result.deptname.Substring(0, result.deptname.Length - 1); } if (!string.IsNullOrEmpty(result.deptid)) { result.deptid = result.deptid.Substring(0, result.deptid.Length - 1); } if (!string.IsNullOrEmpty(result.deptcode)) { result.deptcode = result.deptcode.Substring(0, result.deptcode.Length - 1); } } //延期成功 if (wfFlag == "2" && postPoneResult == "1") { isUpdateDate = true; } //如果安环部、生技部审批通过,则更改整改截至时间、验收时间,增加相应的整改天数 if (isUpdateDate) { //重新赋值整改截至时间 cEntity.REFORMDEADLINE = cEntity.REFORMDEADLINE.Value.AddDays(cEntity.POSTPONEDAYS.Value); //更新验收时间 LllegalAcceptEntity aEntity = lllegalacceptbll.GetEntityByBid(keyValue); if (null != aEntity.ACCEPTTIME) { aEntity.ACCEPTTIME = aEntity.ACCEPTTIME.Value.AddDays(cEntity.POSTPONEDAYS.Value); } lllegalacceptbll.SaveForm(aEntity.ID, aEntity); entity.HANDLESIGN = "1"; //成功标记 } //cEntity.APPSIGN = "Web"; //更新整改信息 lllegalreformbll.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; //申请结果 lllegalextensionbll.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 SaveSettingForm(string keyValue, LllegalReformEntity entity) { Operator curUser = new OperatorProvider().Current(); LllegalRegisterEntity bsentity = lllegalregisterbll.GetEntity(keyValue);//主键 string rankname = string.Empty; bool isUpdateDate = false; //是否更新时间 var cEntity = lllegalreformbll.GetEntityByBid(keyValue); //获取整改对象 string postponereason = Request.Form["POSTPONEREASON"] != null ? Request.Form["POSTPONEREASON"].ToString() : ""; try { WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; // wfentity.argument1 = bsentity.MAJORCLASSIFY; wfentity.argument2 = bsentity.LLLEGALTYPE; wfentity.startflow = "整改延期申请"; wfentity.submittype = "提交"; wfentity.rankid = null; wfentity.user = curUser; wfentity.mark = "违章整改延期"; wfentity.organizeid = bsentity.BELONGDEPARTID; //对应电厂id //获取下一流程的操作人 WfControlResult result = wfcontrolbll.GetWfControl(wfentity); //保存申请记录 LllegalExtensionEntity exentity = new LllegalExtensionEntity(); //处理成功 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.REFORMDEADLINE = cEntity.REFORMDEADLINE.Value.AddDays(cEntity.POSTPONEDAYS.Value); //更新验收时间 LllegalAcceptEntity aEntity = lllegalacceptbll.GetEntityByBid(keyValue); if (null != aEntity.ACCEPTTIME) { aEntity.ACCEPTTIME = aEntity.ACCEPTTIME.Value.AddDays(cEntity.POSTPONEDAYS.Value); } lllegalacceptbll.SaveForm(aEntity.ID, aEntity); exentity.HANDLESIGN = "1"; //成功标记 } cEntity.APPSIGN = "Web"; //更新整改信息 lllegalreformbll.SaveForm(cEntity.ID, cEntity); //更新延期设置 exentity.LLLEGALID = keyValue; 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.APPSIGN = "Web"; lllegalextensionbll.SaveForm("", exentity); //极光推送 if (wfFlag != "2") { htworkflowbll.PushMessageForWorkFlow("违章管理流程", "整改延期审批", wfentity, result); } return(Success(result.message)); } else { return(Error(result.message)); } } catch (Exception ex) { return(Error(ex.Message.ToString())); } }
public ActionResult SubmitForm(string keyValue, LllegalRegisterEntity entity, LllegalReformEntity rEntity, LllegalAcceptEntity acceptEntity) { Operator curUser = OperatorProvider.Provider.Current(); string participant = string.Empty; string wfFlag = string.Empty; WfControlResult result = new WfControlResult(); try { //保存退回操作信息 LllegalRegisterEntity baseentity = lllegalregisterbll.GetEntity(keyValue); baseentity.RESEVERFOUR = entity.RESEVERFOUR; baseentity.RESEVERFIVE = entity.RESEVERFIVE; lllegalregisterbll.SaveForm(keyValue, baseentity); //整改信息 LllegalReformEntity rfEntity = lllegalreformbll.GetEntityByBid(keyValue); rfEntity.REFORMFINISHDATE = rEntity.REFORMFINISHDATE; rfEntity.REFORMMEASURE = rEntity.REFORMMEASURE; rfEntity.REFORMSTATUS = rEntity.REFORMSTATUS; rfEntity.MODIFYDATE = DateTime.Now; rfEntity.MODIFYUSERID = curUser.UserId; rfEntity.MODIFYUSERNAME = curUser.UserName; rfEntity.REFORMPIC = rEntity.REFORMPIC; rfEntity.REFORMATTACHMENT = rEntity.REFORMATTACHMENT; rfEntity.REFORMPEOPLE = rEntity.REFORMPEOPLE; rfEntity.REFORMPEOPLEID = rEntity.REFORMPEOPLEID; rfEntity.REFORMDEPTNAME = rEntity.REFORMDEPTNAME; rfEntity.REFORMDEPTCODE = rEntity.REFORMDEPTCODE; rfEntity.REFORMTEL = rEntity.REFORMTEL; lllegalreformbll.SaveForm(rfEntity.ID, rfEntity); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; wfentity.argument1 = baseentity.MAJORCLASSIFY; //专业分类 wfentity.startflow = baseentity.FLOWSTATE; wfentity.rankid = null; wfentity.user = curUser; wfentity.organizeid = baseentity.BELONGDEPARTID; //对应电厂id if (entity.ADDTYPE == "2") { wfentity.mark = "省级违章流程"; } else { wfentity.mark = "厂级违章流程"; } //退回 if (entity.RESEVERFOUR == "是") { //历史记录 var reformitem = lllegalreformbll.GetHistoryList(entity.ID).ToList(); //如果未整改可以退回 if (reformitem.Count() == 0) { wfentity.submittype = "退回"; } else { return(Error("整改过后的违章无法再次退回!")); } } else //正常提交到验收流程 { wfentity.submittype = "提交"; } //获取下一流程的操作人 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) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } } else { return(Error("请联系系统管理员,确认提交问题!")); } } else { //获取 htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); string tagName = htworkflowbll.QueryTagNameByCurrentWF(keyValue); #region 当前还处于违章整改阶段 if (tagName == "违章整改") { UserInfoEntity userentity = userbll.GetUserInfoByAccount(participant); rfEntity.REFORMPEOPLE = userentity.RealName; rfEntity.REFORMPEOPLEID = userentity.UserId; rfEntity.REFORMDEPTNAME = userentity.DeptName; rfEntity.REFORMDEPTCODE = userentity.DepartmentCode; rfEntity.REFORMTEL = userentity.Telephone; lllegalreformbll.SaveForm(rfEntity.ID, rfEntity); } #endregion } } //非自动处理的流程 else if (result.code == WfCode.NoAutoHandle) { bool isupdate = false;//是否更改流程状态 //退回操作 单独处理 if (entity.RESEVERFOUR == "是") { 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.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } 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); rfEntity.REFORMPEOPLE = userentity.RealName; rfEntity.REFORMPEOPLEID = userentity.UserId; rfEntity.REFORMDEPTNAME = userentity.DeptName; rfEntity.REFORMDEPTCODE = userentity.DepartmentCode; rfEntity.REFORMTEL = userentity.Telephone; lllegalreformbll.SaveForm(rfEntity.ID, rfEntity); } #endregion result.message = "处理成功"; result.code = WfCode.Sucess; } } if (result.code == WfCode.Sucess) { return(Success(result.message)); } else //其他返回状态 { return(Error(result.message)); } } catch (Exception ex) { return(Error(ex.Message)); } }
public ActionResult SubmitForm(string keyValue, LllegalRegisterEntity entity, LllegalApproveEntity pEntity, LllegalReformEntity rEntity, LllegalAcceptEntity aEntity) { /* * 注:核准分两步 * * 确定为装置类情况下,如果当前核准人是安全管理部门人员, 先判断是否为装置类,如果不是 则直接到整改或退回,如果是,则转发至装置部门 或退回(不是提交) * 如果是非安全管理人员,则提交到安全管理部门人员会退回到登记. */ string errorMsg = string.Empty; Operator curUser = OperatorProvider.Provider.Current(); string wfFlag = string.Empty; //流程标识 string participant = string.Empty; //获取流程下一节点的参与人员 var lllegatypename = ""; if (!string.IsNullOrWhiteSpace(entity.LLLEGALTYPE)) { lllegatypename = dataitemdetailbll.GetEntity(entity.LLLEGALTYPE).ItemName; } //保存违章基本信息 LllegalRegisterEntity baseentity = lllegalregisterbll.GetEntity(keyValue); entity.AUTOID = baseentity.AUTOID; entity.CREATEDATE = baseentity.CREATEDATE; entity.CREATEUSERDEPTCODE = baseentity.CREATEUSERDEPTCODE; entity.CREATEUSERID = baseentity.CREATEUSERID; entity.CREATEUSERNAME = baseentity.CREATEUSERNAME; entity.CREATEUSERORGCODE = baseentity.CREATEUSERORGCODE; entity.MODIFYDATE = DateTime.Now; entity.MODIFYUSERID = curUser.UserId; entity.MODIFYUSERNAME = curUser.UserName; entity.RESEVERFOUR = ""; entity.RESEVERFIVE = ""; lllegalregisterbll.SaveForm(keyValue, entity); #region 考核信息 string RELEVANCEDATA = Request.Form["RELEVANCEDATA"]; if (!string.IsNullOrEmpty(RELEVANCEDATA)) { //先删除考核信息集合 lllegalpunishbll.DeleteLllegalPunishList(entity.ID, ""); JArray jarray = (JArray)JsonConvert.DeserializeObject(RELEVANCEDATA); foreach (JObject rhInfo in jarray) { //string relevanceId = rhInfo["ID"].ToString(); //主键id string assessobject = rhInfo["ASSESSOBJECT"].ToString(); string personinchargename = rhInfo["PERSONINCHARGENAME"].ToString(); //关联责任人姓名 string personinchargeid = rhInfo["PERSONINCHARGEID"].ToString(); //关联责任人id string performancepoint = rhInfo["PERFORMANCEPOINT"].ToString(); //EHS绩效考核 string economicspunish = rhInfo["ECONOMICSPUNISH"].ToString(); // 经济处罚 string education = rhInfo["EDUCATION"].ToString(); //教育培训 string lllegalpoint = rhInfo["LLLEGALPOINT"].ToString(); //违章扣分 string awaitjob = rhInfo["AWAITJOB"].ToString(); //待岗 LllegalPunishEntity newpunishEntity = new LllegalPunishEntity(); newpunishEntity.LLLEGALID = entity.ID; newpunishEntity.ASSESSOBJECT = assessobject; //考核对象 newpunishEntity.PERSONINCHARGEID = personinchargeid; newpunishEntity.PERSONINCHARGENAME = personinchargename; newpunishEntity.PERFORMANCEPOINT = !string.IsNullOrEmpty(performancepoint) ? Convert.ToDecimal(performancepoint) : 0; newpunishEntity.ECONOMICSPUNISH = !string.IsNullOrEmpty(economicspunish) ? Convert.ToDecimal(economicspunish) : 0; newpunishEntity.EDUCATION = !string.IsNullOrEmpty(education) ? Convert.ToDecimal(education) : 0; newpunishEntity.LLLEGALPOINT = !string.IsNullOrEmpty(lllegalpoint) ? Convert.ToDecimal(lllegalpoint) : 0; newpunishEntity.AWAITJOB = !string.IsNullOrEmpty(awaitjob) ? Convert.ToDecimal(awaitjob) : 0; newpunishEntity.MARK = assessobject.Contains("考核") ? "0" : "1"; //标记0考核,1联责 lllegalpunishbll.SaveForm("", newpunishEntity); } } #endregion #region 违章奖励信息 string AWARDDATA = Request.Form["AWARDDATA"]; if (!string.IsNullOrEmpty(AWARDDATA)) { //先删除关联集合 lllegalawarddetailbll.DeleteLllegalAwardList(entity.ID); JArray jarray = (JArray)JsonConvert.DeserializeObject(AWARDDATA); foreach (JObject rhInfo in jarray) { string userid = rhInfo["USERID"].ToString(); //奖励用户 string username = rhInfo["USERNAME"].ToString(); string deptid = rhInfo["DEPTID"].ToString(); //奖励用户部门 string deptname = rhInfo["DEPTNAME"].ToString(); string points = rhInfo["POINTS"].ToString(); //奖励积分 string money = rhInfo["MONEY"].ToString(); //奖励金额 LllegalAwardDetailEntity awardEntity = new LllegalAwardDetailEntity(); awardEntity.LLLEGALID = entity.ID; awardEntity.USERID = userid; //奖励对象 awardEntity.USERNAME = username; awardEntity.DEPTID = deptid; awardEntity.DEPTNAME = deptname; awardEntity.POINTS = !string.IsNullOrEmpty(points) ? int.Parse(points) : 0; awardEntity.MONEY = !string.IsNullOrEmpty(money) ? Convert.ToDecimal(money) : 0; lllegalawarddetailbll.SaveForm("", awardEntity); } } #endregion //违章整改记录 LllegalReformEntity cEntity = lllegalreformbll.GetEntityByBid(keyValue); cEntity.REFORMDEADLINE = rEntity.REFORMDEADLINE; cEntity.REFORMPEOPLE = rEntity.REFORMPEOPLE; cEntity.REFORMPEOPLEID = rEntity.REFORMPEOPLEID; cEntity.REFORMDEPTCODE = rEntity.REFORMDEPTCODE; cEntity.REFORMDEPTNAME = rEntity.REFORMDEPTNAME; cEntity.REFORMTEL = rEntity.REFORMTEL; cEntity.REFORMSTATUS = string.Empty; cEntity.REFORMCHARGEDEPTID = rEntity.REFORMCHARGEDEPTID; cEntity.REFORMCHARGEDEPTNAME = rEntity.REFORMCHARGEDEPTNAME; cEntity.REFORMCHARGEPERSON = rEntity.REFORMCHARGEPERSON; cEntity.REFORMCHARGEPERSONNAME = rEntity.REFORMCHARGEPERSONNAME; cEntity.ISAPPOINT = rEntity.ISAPPOINT; lllegalreformbll.SaveForm(cEntity.ID, cEntity); //违章验收 LllegalAcceptEntity aptEntity = lllegalacceptbll.GetEntityByBid(keyValue); aptEntity.ACCEPTPEOPLE = aEntity.ACCEPTPEOPLE; aptEntity.ACCEPTPEOPLEID = aEntity.ACCEPTPEOPLEID; aptEntity.ACCEPTDEPTCODE = aEntity.ACCEPTDEPTCODE; aptEntity.ACCEPTDEPTNAME = aEntity.ACCEPTDEPTNAME; aptEntity.ACCEPTTIME = aEntity.ACCEPTTIME; lllegalacceptbll.SaveForm(aptEntity.ID, aptEntity); WfControlObj wfentity = new WfControlObj(); wfentity.businessid = keyValue; // wfentity.argument1 = entity.MAJORCLASSIFY; //专业分类 wfentity.argument2 = entity.LLLEGALTYPE; //违章类型 wfentity.argument3 = curUser.DeptId; //当前人所属部门 wfentity.argument4 = entity.LLLEGALTEAMCODE; //违章部门 wfentity.argument5 = entity.LLLEGALLEVEL; //违章级别 wfentity.startflow = baseentity.FLOWSTATE; //上报,且存在上级部门 if (entity.ISUPSAFETY == "1") { wfentity.submittype = "上报"; } else //不上报,评估通过需要提交整改,评估不通过退回到登记 { /****判断当前人是否评估通过*****/ #region 判断当前人是否评估通过 //评估通过,则直接进行整改 if (pEntity.APPROVERESULT == "1") { wfentity.submittype = "提交"; //不指定整改责任人 if (rEntity.ISAPPOINT == "0") { wfentity.submittype = "制定提交"; } //判断是否是同级提交 bool ismajorpush = GetCurUserWfAuth(null, baseentity.FLOWSTATE, baseentity.FLOWSTATE, "厂级违章流程", "同级提交", entity.MAJORCLASSIFY, null, null, keyValue); if (ismajorpush) { wfentity.submittype = "同级提交"; } } else //评估不通过,退回到登记 { wfentity.submittype = "退回"; } #endregion } wfentity.rankid = null; wfentity.user = curUser; wfentity.mark = "厂级违章流程"; wfentity.organizeid = entity.BELONGDEPARTID; //对应电厂id //获取下一流程的操作人 WfControlResult 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) { //保存违章核准 pEntity.LLLEGALID = keyValue; lllegalapprovebll.SaveForm("", pEntity); htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 return(Success(result.message)); } else { return(Error("当前用户无核准权限!")); } } else //不更改状态的情况下 { //保存违章核准 pEntity.LLLEGALID = keyValue; lllegalapprovebll.SaveForm("", pEntity); htworkflowbll.SubmitWorkFlowNoChangeStatus(wfentity, result, keyValue, participant, curUser.UserId); return(Success(result.message)); } } else { return(Error("目标流程参与者未定义!")); } } else { return(Error(result.message)); } }
public ActionResult SubmitForm(string keyValue, LllegalAcceptEntity acceptEntity) { Operator curUser = OperatorProvider.Provider.Current(); try { /* * 考虑两种情况 * 当验收不通过,则验收退回到违章整改状态,并进行重新整改 ,这里需要注意,一旦不通过,则重新生成一条整改信息,一条验收信息. * 当验收通过,则整改结束 */ /* * 验收 验收到整改结束 */ string wfFlag = string.Empty; //流程标识 string participant = string.Empty; //获取流程下一节点的参与人员 (取验收人) LllegalAcceptEntity aptEntity = lllegalacceptbll.GetEntityByBid(keyValue); aptEntity.ACCEPTRESULT = acceptEntity.ACCEPTRESULT; aptEntity.ACCEPTMIND = acceptEntity.ACCEPTMIND; aptEntity.MODIFYDATE = DateTime.Now; aptEntity.MODIFYUSERID = curUser.UserId; aptEntity.MODIFYUSERNAME = curUser.UserName; aptEntity.ACCEPTPIC = acceptEntity.ACCEPTPIC; lllegalacceptbll.SaveForm(aptEntity.ID, aptEntity); //不通过 if (acceptEntity.ACCEPTRESULT == "0") { //整改记录 LllegalReformEntity reformEntity = lllegalreformbll.GetEntityByBid(keyValue); LllegalReformEntity newEntity = new LllegalReformEntity(); newEntity = reformEntity; newEntity.CREATEDATE = DateTime.Now; newEntity.MODIFYDATE = DateTime.Now; newEntity.MODIFYUSERID = curUser.UserId; newEntity.MODIFYUSERNAME = curUser.UserName; newEntity.REFORMPIC = null; //重新生成图片GUID newEntity.REFORMSTATUS = null; //整改完成情况 newEntity.REFORMMEASURE = null; //整改具体措施 newEntity.REFORMFINISHDATE = null; //整改完成时间 newEntity.ID = ""; lllegalreformbll.SaveForm("", newEntity); //验收记录 LllegalAcceptEntity cptEntity = new LllegalAcceptEntity(); cptEntity = aptEntity; cptEntity.ID = null; cptEntity.CREATEDATE = DateTime.Now; cptEntity.MODIFYDATE = DateTime.Now; cptEntity.ACCEPTRESULT = null; cptEntity.ACCEPTMIND = null; cptEntity.ACCEPTPIC = null; lllegalacceptbll.SaveForm("", cptEntity); wfFlag = "2"; // 违章整改 UserEntity reformUser = userbll.GetEntity(reformEntity.REFORMPEOPLEID); //整改用户对象 //取整改人 participant = reformUser.Account; } else //通过的情况下 { wfFlag = "1"; // 整改结束 participant = curUser.Account; } //提交流程到下一节点 if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } } else { return(Error("请联系系统管理员,确认提交问题!")); } } catch (Exception) { throw; } return(Success("操作成功!")); }
public ActionResult SubmitForm(string keyValue, LllegalRegisterEntity entity, LllegalPunishEntity pbEntity, LllegalReformEntity rEntity, LllegalAcceptEntity aEntity) { //判断重复编号过程 if (!string.IsNullOrEmpty(entity.LLLEGALNUMBER)) { var curHtBaseInfor = lllegalregisterbll.GetListByNumber(entity.LLLEGALNUMBER).FirstOrDefault(); if (null != curHtBaseInfor) { if (curHtBaseInfor.ID != keyValue && string.IsNullOrEmpty(keyValue)) { return(Error("违章编号重复,请重新新增!")); } } } string errorMsg = string.Empty; //bool isAddScore = false; //是否添加到用户积分 string startflow = string.Empty; //起始 string endflow = string.Empty; //截止 try { //创建流程,保存对应信息 CommonSaveForm(keyValue, "03", entity, pbEntity, rEntity, aEntity); //创建完流程实例后 if (string.IsNullOrEmpty(keyValue)) { keyValue = entity.ID; } //此处需要判断当前人是否为安全管理员 string wfFlag = string.Empty; //当前用户 Operator curUser = OperatorProvider.Provider.Current(); IList <UserEntity> ulist = new List <UserEntity>(); //参与人员 string participant = string.Empty; var itemlist = dataitemdetailbll.GetDataItemListByItemCode("'FlowState'"); string startnode = itemlist.Where(p => p.ItemName == "违章登记").Count() > 0 ? "违章登记" : "违章举报"; //省公司、省级用户 if (userbll.HaveRoleListByKey(curUser.UserId, dataitemdetailbll.GetItemValue("GrpUser")).Rows.Count > 0) { startflow = startnode; endflow = "违章完善"; wfFlag = "4"; // 登记=>完善 errorMsg = "省公司、省级用户"; //取安全主管部门用户 完善 participant = userbll.GetSafetyDeviceDeptUser("0", entity.BELONGDEPARTID); } //添加用户积分关联 //if (isAddScore) //{ // lllegalpunishbll.SaveUserScore(pbEntity.PERSONINCHARGEID, entity.LLLEGALLEVEL); // //关联责任人 // var relevanceList = lllegalpunishbll.GetListByLllegalId(entity.ID, "1"); // foreach (LllegalPunishEntity lpEntity in relevanceList) // { // //违章责任人 // lllegalpunishbll.SaveUserScore(lpEntity.PERSONINCHARGEID, entity.LLLEGALLEVEL); // } //} if (!string.IsNullOrEmpty(participant)) { int count = htworkflowbll.SubmitWorkFlow(startflow, endflow, keyValue, participant, wfFlag, curUser.UserId); if (count > 0) { htworkflowbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", keyValue); //更新业务流程状态 } } else { return(Error("请联系系统管理员,确认" + errorMsg + "!")); } } catch (Exception) { throw; } return(Success("操作成功!")); }
/// <summary> /// 公用方法,保存数据 /// </summary> /// <param name="keyValue">主键ID</param> /// <param name="workFlow">工作流编码</param> /// <param name="entity">违章基本信息</param> /// <param name="pbEntity">考核记录</param> /// <param name="rEntity">整改信息</param> /// <param name="aEntity">验收信息</param> public void CommonSaveForm(string keyValue, string workFlow, LllegalRegisterEntity entity, LllegalPunishEntity pbEntity, LllegalReformEntity rEntity, LllegalAcceptEntity aEntity) { //提交通过 string userId = OperatorProvider.Provider.Current().UserId; //保存违章基本信息 entity.RESEVERFOUR = ""; entity.RESEVERFIVE = ""; if (string.IsNullOrEmpty(keyValue)) { string lenNum = !string.IsNullOrEmpty(dataitemdetailbll.GetItemValue("LllegalSerialNumberLen")) ? dataitemdetailbll.GetItemValue("LllegalSerialNumberLen") : "3"; entity.LLLEGALNUMBER = lllegalregisterbll.GenerateHidCode("bis_lllegalregister", "lllegalnumber", int.Parse(lenNum)); } lllegalregisterbll.SaveForm(keyValue, entity); //创建流程实例 if (string.IsNullOrEmpty(keyValue)) { bool isSucess = htworkflowbll.CreateWorkFlowObj(workFlow, entity.ID, userId); if (isSucess) { lllegalregisterbll.UpdateFlowStateByObjectId("bis_lllegalregister", "flowstate", entity.ID); //更新业务流程状态 } } /************考核信息**********/ #region 考核内容 string RELEVANCEDATA = Request.Form["RELEVANCEDATA"]; if (!string.IsNullOrEmpty(RELEVANCEDATA)) { //先删除关联责任人集合 lllegalpunishbll.DeleteLllegalPunishList(entity.ID, ""); JArray jarray = (JArray)JsonConvert.DeserializeObject(RELEVANCEDATA); foreach (JObject rhInfo in jarray) { string assessobject = rhInfo["ASSESSOBJECT"].ToString(); string personinchargename = rhInfo["PERSONINCHARGENAME"].ToString(); //关联责任人姓名 string personinchargeid = rhInfo["PERSONINCHARGEID"].ToString(); //关联责任人id string performancepoint = rhInfo["PERFORMANCEPOINT"].ToString(); //EHS绩效考核 string economicspunish = rhInfo["ECONOMICSPUNISH"].ToString(); // 经济处罚 string education = rhInfo["EDUCATION"].ToString(); //教育培训 string lllegalpoint = rhInfo["LLLEGALPOINT"].ToString(); //违章扣分 string awaitjob = rhInfo["AWAITJOB"].ToString(); //待岗 LllegalPunishEntity newpunishEntity = new LllegalPunishEntity(); newpunishEntity.LLLEGALID = entity.ID; newpunishEntity.ASSESSOBJECT = assessobject; //考核对象 newpunishEntity.PERSONINCHARGEID = personinchargeid; newpunishEntity.PERSONINCHARGENAME = personinchargename; newpunishEntity.PERFORMANCEPOINT = !string.IsNullOrEmpty(performancepoint) ? Convert.ToDecimal(performancepoint) : 0; newpunishEntity.ECONOMICSPUNISH = !string.IsNullOrEmpty(economicspunish) ? Convert.ToDecimal(economicspunish) : 0; newpunishEntity.EDUCATION = !string.IsNullOrEmpty(education) ? Convert.ToDecimal(education) : 0; newpunishEntity.LLLEGALPOINT = !string.IsNullOrEmpty(lllegalpoint) ? Convert.ToDecimal(lllegalpoint) : 0; newpunishEntity.AWAITJOB = !string.IsNullOrEmpty(awaitjob) ? Convert.ToDecimal(awaitjob) : 0; newpunishEntity.MARK = assessobject.Contains("考核") ? "0" : "1"; //标记0考核,1联责 lllegalpunishbll.SaveForm("", newpunishEntity); } } #endregion /********整改信息************/ string REFORMID = Request.Form["REFORMID"].ToString(); rEntity.LLLEGALID = entity.ID; //新增状态下添加 if (!string.IsNullOrEmpty(REFORMID)) { var tempEntity = lllegalreformbll.GetEntity(REFORMID); rEntity.AUTOID = tempEntity.AUTOID; } lllegalreformbll.SaveForm(REFORMID, rEntity); /********验收信息************/ string ACCEPTID = Request.Form["ACCEPTID"].ToString(); aEntity.LLLEGALID = entity.ID; if (!string.IsNullOrEmpty(ACCEPTID)) { var tempEntity = lllegalacceptbll.GetEntity(ACCEPTID); aEntity.AUTOID = tempEntity.AUTOID; } lllegalacceptbll.SaveForm(ACCEPTID, aEntity); }
public ActionResult SaveForm(string keyValue, LllegalRegisterEntity entity, LllegalPunishEntity pbEntity, LllegalReformEntity rEntity, LllegalAcceptEntity aEntity) { CommonSaveForm(keyValue, "03", entity, pbEntity, rEntity, aEntity); return(Success("操作成功!")); }