/// <summary> /// 审核保存表单(新增、修改) /// </summary> /// <param name="keyValue">主表主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void CheckSaveForm(string keyValue, DangerousJobFlowDetailEntity entity) { try { service.CheckSaveForm(keyValue, entity); JobSafetyCardApplyBLL bll = new JobSafetyCardApplyBLL(); UserBLL userbll = new UserBLL(); var data = bll.GetEntity(keyValue); if (data.JobState == 2)//审核不通过 { JPushApi.PushMessage(userbll.GetEntity(data.CreateUserId).Account, data.CreateUserName, "ZYAQZ002", data.JobTypeName + "安全证申请审批未通过,请您知晓。", "您于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "安全证审批未通过,如您还需进行作业,请重新进行申请。", data.Id); } else if (data.JobState == 1)//下一步审批人 { DangerousJobFlowDetailEntity flow = service.GetList().Where(t => t.BusinessId == keyValue && t.Status == 0).FirstOrDefault(); string userids = service.GetCurrentStepUser(keyValue, flow.Id); DataTable dt = userbll.GetUserTable(userids.Split(',')); JPushApi.PushMessage(string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("account")).ToArray()), string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("realname")).ToArray()), "ZYAQZ003", data.JobTypeName + "安全证申请待您审批,请您及时处理。", data.CreateUserName + "于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "安全证需要您进行审批,请您及时处理。", data.Id); } else { //审批通过 DataTable dt = userbll.GetUserTable((data.CreateUserId + "," + data.JobPersonId).Split(',')); JPushApi.PushMessage(string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("account")).ToArray()), string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("realname")).ToArray()), "ZYAQZ001", data.JobTypeName + "安全证申请已审批通过,请您查收。", "您于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "安全证已审批通过,请您合理安排作业时间。", data.Id); if (data.JobType == "Digging") //动土作业审批通过进行到备案状态 需要发送待备案消息 { DataTable dt1 = userbll.GetUserTable(data.RecordsPersonId.Split(',')); JPushApi.PushMessage(string.Join(",", dt1.AsEnumerable().Select(t => t.Field <string>("account")).ToArray()), data.RecordsPerson, "ZYAQZ005", data.JobTypeName + "安全证申请待您备案,请您及时处理。", data.CreateUserName + "于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "安全证需要您进行备案,请您及时处理。", data.Id); } } } catch (Exception) { throw; } }
/// <summary> /// 开始作业 /// </summary> /// <param name="keyValue"></param> /// <param name="ledgerType"></param> /// <param name="type"></param> /// <param name="worktime"></param> /// <param name="issendmessage"></param> /// <param name="conditioncontent"></param> /// <param name="conditionid"></param> /// <param name="iscomplete"></param> public void LedgerOp(string keyValue, string ledgerType, string type, string worktime, string issendmessage, string conditioncontent, string conditionid = "", string iscomplete = "") { string title = string.Empty; string message = string.Empty; var time = Convert.ToDateTime(worktime); Operator curUser = OperatorProvider.Provider.Current(); JobApprovalFormEntity entity = service.GetEntity(keyValue); string sql = ""; if (type == "HeightWorking" || type == "Lifting" || type == "Digging" || type == "OpenCircuit" || type == "WhenHot" || type == "BlindPlateWall" || type == "LimitedSpace" || type == "EquOverhaulClean") { if (ledgerType == "0") { sql = string.Format(@"update bis_jobsafetycardapply set realityjobstarttime=to_date('{1}','yyyy-mm-dd hh24:mi:ss')," + "jobstate=10,RealityJobEndTime='' where id='{0}'", keyValue, time.ToString("yyyy-MM-dd HH:mm:ss")); } else if (ledgerType == "1") { int jobstate = 9; if (iscomplete == "0") { jobstate = 9;//状态为作业暂停 } else { UserBLL userbll = new UserBLL(); JobSafetyCardApplyBLL JobSafetyCardApplyBLL = new JobSafetyCardApplyBLL(); JobSafetyCardApplyEntity data = JobSafetyCardApplyBLL.GetEntity(keyValue); if (type == "OpenCircuit") { jobstate = 6; //断路作业 结束作业后下一步流程为验收 状态值改为验收中:6 DataTable dt = userbll.GetUserTable(data.CheckPersonId.Split(',')); JPushApi.PushMessage(string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("account")).ToArray()), data.CheckPerson, "ZYAQZ004", data.JobTypeName + "安全证待您进行作业后验收,请您及时处理。", data.CreateUserName + "于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "安全证需要您进行作业后验收,请您及时处理。", data.Id); } else if (type == "EquOverhaulClean") { jobstate = 7; //设备检修清理作业 结束作业后下一步流程为送电 状态值改为送电中:7 DataTable dt = userbll.GetUserTable(data.PowerGivePersonId.Split(',')); JPushApi.PushMessage(string.Join(",", dt.AsEnumerable().Select(t => t.Field <string>("account")).ToArray()), data.PowerGivePerson, "ZYAQZ010", data.JobTypeName + "已结束,待您进行送电,请您及时处理。", data.CreateUserName + "于" + data.CreateDate.Value.ToString("yyyy年MM月dd日") + "申请的" + data.JobTypeName + "已结束,需要您进行送电操作,请您及时处理。", data.Id); } else { jobstate = 11; //其他作业 作业结束即为整个流程结束 状态值为11 } } sql = string.Format("update bis_jobsafetycardapply set jobstate={2},realityjobendtime=to_date('{1}','yyyy-mm-dd hh24:mi:ss') where id='{0}'", keyValue, time.ToString("yyyy-MM-dd HH:mm:ss"), jobstate); } } else { if (ledgerType == "0") { entity.RealityJobStartTime = time; sql = string.Format(@"update BIS_JobApprovalForm set RealityJobStartTime=to_date('{1}','yyyy-mm-dd hh24:mi:ss')," + "WorkOperate='0',RealityJobEndTime='' where id='{0}'", keyValue, time.ToString("yyyy-MM-dd HH:mm:ss")); entity.WorkOperate = "0"; entity.RealityJobEndTime = null; } if (ledgerType == "1") { entity.RealityJobEndTime = time; if (iscomplete == "0") { entity.WorkOperate = "1"; } sql = string.Format("update BIS_JobApprovalForm set WorkOperate='{2}',RealityJobEndTime=to_date('{1}','yyyy-mm-dd hh24:mi:ss') where id='{0}'", keyValue, time.ToString("yyyy-MM-dd HH:mm:ss"), entity.WorkOperate); } //更新作业安全证状态 UpdateGerOp(keyValue, ledgerType, type, worktime, issendmessage, conditioncontent, conditionid, iscomplete); } service.UpdateData(sql); #region 添加执行情况信息 FireWaterCondition Conditionentity = new FireWaterCondition(); Conditionentity.Id = !string.IsNullOrEmpty(conditionid) ? conditionid : ""; Conditionentity.LedgerType = ledgerType; Conditionentity.ConditionTime = time; Conditionentity.ConditionContent = conditioncontent; Conditionentity.ConditionDept = curUser.DeptName; Conditionentity.ConditionDeptCode = curUser.DeptCode; Conditionentity.ConditionDeptId = curUser.DeptId; Conditionentity.ConditionPerson = curUser.UserName; Conditionentity.ConditionPersonId = curUser.UserId; Conditionentity.FireWaterId = keyValue; firewaterbll.SubmitCondition(conditionid, Conditionentity); #endregion }