예제 #1
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, TransferrecordEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #2
0
        /// <summary>
        /// 转交短消息
        /// </summary>
        /// <param name="keyValue"></param>
        public void TransformSendMessage(TransferrecordEntity entity)
        {
            //1、判断当前是措施确认还是审批阶段
            Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current();
            HighRiskCommonApplyEntity commonEntity = service.GetEntity(entity.RecId);
            string          moduleName             = GetModuleName(commonEntity);
            PushMessageData pushdata = new PushMessageData();

            if (commonEntity.FlowName == "确认中")
            {
                //措施确认转交
                pushdata.SendCode = "ZY001";
            }
            else
            {
                //审核转交
                pushdata.SendCode = "ZY002";
            }
            //极光推送
            pushdata.EntityId    = commonEntity.Id;
            pushdata.UserAccount = entity.InTransferUserAccount;
            PushMessageForCommon(pushdata);
        }
예제 #3
0
        /// <summary>
        /// 获取单条事故事件处理信息完整流程图
        /// </summary>
        /// <param name="keyValue"></param>
        /// <returns></returns>
        public List <CheckFlowData> GetAppFullFlowList(string keyValue)
        {
            List <CheckFlowData>         nodelist = new List <CheckFlowData>();
            Operator                     user     = ERCHTMS.Code.OperatorProvider.Provider.Current();
            PowerplanthandledetailEntity entity   = powerplanthandledetailservice.GetEntity(keyValue);
            string    deptname = DepartmentService.GetEntityByCode(entity.CreateUserDeptCode).FullName;
            string    deptid   = DepartmentService.GetEntityByCode(entity.CreateUserDeptCode).DepartmentId;
            DataTable dt       = GetAuditInfo(entity.PowerPlantHandleId, "(事故事件处理记录)审核");

            if (dt != null)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    //审核记录
                    if (dr["auditdept"] != null && !string.IsNullOrEmpty(dr["auditdept"].ToString()))
                    {
                        CheckFlowData checkdata = new CheckFlowData();
                        DateTime      auditdate;
                        DateTime.TryParse(dr["audittime"].ToString(), out auditdate);
                        checkdata.auditdate     = auditdate.ToString("yyyy-MM-dd HH:mm");
                        checkdata.auditdeptname = dr["auditdept"].ToString();
                        checkdata.auditusername = dr["auditpeople"].ToString();
                        checkdata.auditstate    = dr["auditresult"].ToString() == "0" ? "同意" : "不同意";
                        checkdata.isapprove     = "1";
                        checkdata.isoperate     = "0";
                        nodelist.Add(checkdata);
                    }
                    else
                    {
                        CheckFlowData checkdata = new CheckFlowData();
                        checkdata.auditdate = "";
                        //部门,人员
                        var    checkDeptId = dr["checkdeptid"].ToString();
                        var    checkremark = dr["remark"].ToString();
                        string type        = checkremark != "1" ? "0" : "1";
                        if (checkDeptId == "-3" || checkDeptId == "-1")
                        {
                            checkDeptId             = deptid;
                            checkdata.auditdeptname = deptname;
                        }
                        else
                        {
                            checkdata.auditdeptname = dr["checkdeptname"].ToString();
                        }
                        string userNames = GetUserName(checkDeptId, dr["checkrolename"].ToString()).Split('|')[0];

                        checkdata.auditusername = !string.IsNullOrEmpty(userNames) ? userNames : "无";
                        checkdata.auditremark   = "";
                        checkdata.isapprove     = "0";
                        checkdata.isoperate     = entity.FlowId == dr["id"].ToString() ? "1" : "0";
                        checkdata.auditstate    = "审核(批)中";
                        nodelist.Add(checkdata);
                    }
                }
            }

            #region 签收节点
            Boolean HaveSignNode = entity.IsAssignPerson == "1" ? true : false;
            if (entity.IsAssignPerson == "1")
            {
                //审核记录
                if (!string.IsNullOrEmpty(entity.RealSignPersonName))
                {
                    CheckFlowData checkdata = new CheckFlowData();
                    DateTime      auditdate;
                    DateTime.TryParse(entity.RealSignDate.ToString(), out auditdate);
                    checkdata.auditdate     = auditdate.ToString("yyyy-MM-dd HH:mm");
                    checkdata.auditdeptname = entity.RealSignPersonDept;
                    checkdata.auditusername = entity.RealSignPersonName;
                    checkdata.auditstate    = "已签收";
                    checkdata.isapprove     = "1";
                    checkdata.isoperate     = "0";
                    nodelist.Add(checkdata);
                }
                else
                {
                    CheckFlowData checkdata = new CheckFlowData();
                    checkdata.auditdate     = "";
                    checkdata.auditdeptname = entity.SignDeptName;
                    checkdata.auditusername = entity.SignPersonName;
                    checkdata.auditremark   = "";
                    checkdata.isapprove     = "0";
                    checkdata.isoperate     = "1";
                    checkdata.auditstate    = "签收中";
                    nodelist.Add(checkdata);
                }
            }
            #endregion
            #region 整改节点
            if (!string.IsNullOrEmpty(entity.RectificationDutyPerson))
            {
                PowerplantreformEntity reformentity = PowerplantreformService.GetList("").Where(t => t.PowerPlantHandleDetailId == keyValue && t.Disable == 0).FirstOrDefault();
                if (reformentity != null)
                {
                    CheckFlowData checkdata = new CheckFlowData();
                    DateTime      auditdate;
                    DateTime.TryParse(reformentity.CreateDate.ToString(), out auditdate);
                    checkdata.auditdate     = auditdate.ToString("yyyy-MM-dd HH:mm");
                    checkdata.auditdeptname = DepartmentService.GetEntityByCode(reformentity.CreateUserDeptCode).FullName;
                    checkdata.auditusername = reformentity.RectificationPerson;
                    checkdata.auditstate    = "已整改";
                    checkdata.isapprove     = "1";
                    checkdata.isoperate     = "0";
                    nodelist.Add(checkdata);
                }
                else
                {
                    CheckFlowData checkdata = new CheckFlowData();
                    checkdata.auditdate = "";

                    string               approveuserid              = entity.RectificationDutyPersonId;
                    string[]             accounts                   = UserService.GetUserTable(approveuserid.Split(',')).AsEnumerable().Select(e => e.Field <string>("ACCOUNT")).ToArray();
                    string               accountstr                 = accounts.Length > 0 ? string.Join(",", accounts) + "," : "";
                    TransferrecordEntity transfer                   = TransferrecordService.GetList(t => t.RecId == entity.Id && t.Disable == 0).FirstOrDefault();
                    string               outtransferuseraccount     = transfer == null ? "" : transfer.OutTransferUserAccount; //转交申请人
                    string               intransferuseraccount      = transfer == null ? "" : transfer.InTransferUserAccount;  //转交接收人
                    string[]             outtransferuseraccountlist = outtransferuseraccount.Split(',');
                    string[]             intransferuseraccountlist  = intransferuseraccount.Split(',');
                    foreach (var item in intransferuseraccountlist)
                    {
                        if (!item.IsEmpty() && !accountstr.Contains(item + ","))
                        {
                            accountstr += (item + ",");//将转交接收人加入审核账号中
                        }
                    }
                    foreach (var item in outtransferuseraccountlist)
                    {
                        if (!item.IsEmpty() && accountstr.Contains(item + ","))
                        {
                            accountstr = accountstr.Replace(item + ",", "");//将转交申请人从审核账号中移除
                        }
                    }

                    DataTable dtuser    = UserService.GetUserTable(accountstr.Split(','));
                    string[]  usernames = dtuser.AsEnumerable().Select(d => d.Field <string>("realname")).ToArray();
                    string[]  deptnames = dtuser.AsEnumerable().Select(d => d.Field <string>("deptname")).ToArray().GroupBy(t => t).Select(p => p.Key).ToArray();
                    checkdata.auditusername = usernames.Length > 0 ? string.Join(",", usernames) : "无";
                    checkdata.auditdeptname = deptnames.Length > 0 ? string.Join(",", deptnames) : "无";
                    checkdata.auditremark   = "";
                    checkdata.isapprove     = "0";
                    checkdata.isoperate     = "1";
                    checkdata.auditstate    = "整改中";
                    nodelist.Add(checkdata);
                }
                #region  事故事件验收节点

                if (reformentity != null)
                {
                    DataTable dtCheckNodes = GetCheckInfo(keyValue, "事故事件处理记录-验收");
                    if (dtCheckNodes != null && dtCheckNodes.Rows.Count > 0)
                    {
                        for (int j = 0; j < dtCheckNodes.Rows.Count; j++)
                        {
                            DataRow drtemp = dtCheckNodes.Rows[j];
                            //审核记录
                            if (drtemp["auditdept"] != null && !string.IsNullOrEmpty(drtemp["auditdept"].ToString()))
                            {
                                CheckFlowData checkdata = new CheckFlowData();
                                DateTime      auditdate;
                                DateTime.TryParse(drtemp["audittime"].ToString(), out auditdate);
                                checkdata.auditdate     = auditdate.ToString("yyyy-MM-dd HH:mm");
                                checkdata.auditdeptname = drtemp["auditdept"].ToString();
                                checkdata.auditusername = drtemp["auditpeople"].ToString();
                                checkdata.auditstate    = drtemp["auditresult"].ToString() == "0" ? "通过" : "不通过";
                                checkdata.auditremark   = "";
                                checkdata.isapprove     = "1";
                                checkdata.isoperate     = "0";
                                nodelist.Add(checkdata);
                            }
                            else
                            {
                                CheckFlowData checkdata = new CheckFlowData();
                                checkdata.auditdate = "";
                                //部门,人员
                                var    checkDeptId = drtemp["checkdeptid"].ToString();
                                var    checkremark = drtemp["remark"].ToString();
                                string type        = checkremark != "1" ? "0" : "1";
                                if (checkDeptId == "-3" || checkDeptId == "-1")
                                {
                                    checkDeptId             = entity.RealReformDeptId;
                                    checkdata.auditdeptname = entity.RealReformDept;
                                }
                                else
                                {
                                    checkdata.auditdeptname = drtemp["checkdeptname"].ToString();
                                }
                                string userNames = GetUserName(checkDeptId, drtemp["checkrolename"].ToString()).Split('|')[0];

                                checkdata.auditusername = !string.IsNullOrEmpty(userNames) ? userNames : "无";
                                checkdata.auditremark   = "";
                                checkdata.isapprove     = "0";
                                checkdata.isoperate     = entity.FlowId == drtemp["flowid"].ToString() ? "1" : "0";
                                checkdata.auditstate    = "验收中";
                                nodelist.Add(checkdata);
                            }
                        }
                    }
                }
                #endregion
            }
            #endregion
            return(nodelist);
        }
예제 #4
0
        /// <summary>
        /// 保存表单(先将相关业务ID跟流程节点ID的数据设置失效,接着在插入一条整体转交的数据)
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        public void SaveRealForm(string keyValue, TransferrecordEntity entity)
        {
            try
            {
                TransferrecordEntity realentity = service.GetList(t => t.RecId == entity.RecId && t.FlowId == entity.FlowId && t.Disable == 0).FirstOrDefault();
                if (realentity != null)
                {
                    realentity.InTransferUserAccount += (entity.InTransferUserAccount + ",");
                    realentity.InTransferUserId      += (entity.InTransferUserId + ",");
                    realentity.InTransferUserName    += (entity.InTransferUserName + ",");
                    //当实际转交接收人中存在当前申请人时,转交接收人剔除当前申请转交的账号
                    realentity.InTransferUserAccount   = realentity.InTransferUserAccount.Contains(entity.OutTransferUserAccount) ? realentity.InTransferUserAccount.Replace(entity.OutTransferUserAccount + ",", "") : realentity.InTransferUserAccount;
                    realentity.InTransferUserId        = realentity.InTransferUserId.Contains(entity.OutTransferUserId) ? realentity.InTransferUserId.Replace(entity.OutTransferUserId + ",", "") : realentity.InTransferUserId;
                    realentity.InTransferUserName      = realentity.InTransferUserName.Contains(entity.OutTransferUserName) ? realentity.InTransferUserName.Replace(entity.OutTransferUserName + ",", "") : realentity.InTransferUserName;
                    realentity.OutTransferUserAccount += (entity.OutTransferUserAccount + ",");
                    realentity.OutTransferUserId      += (entity.OutTransferUserId + ",");
                    realentity.OutTransferUserName    += (entity.OutTransferUserName + ",");

                    //当当前转交接收人存在于实际转交申请人时(及当前当前转交接收人以前做过转交申请),将实际转交申请人中的这个账号剔除
                    string[] InTransferUserAccountList = entity.InTransferUserAccount.Split(',');
                    foreach (var item in InTransferUserAccountList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserAccount.Contains(item + ","))
                        {
                            realentity.OutTransferUserAccount = realentity.OutTransferUserAccount.Replace(item + ",", "");
                        }
                    }

                    string[] InTransferUserIdList = entity.InTransferUserId.Split(',');
                    foreach (var item in InTransferUserIdList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserId.Contains(item + ","))
                        {
                            realentity.OutTransferUserId = realentity.OutTransferUserId.Replace(item + ",", "");
                        }
                    }

                    string[] InTransferUserNameList = entity.InTransferUserName.Split(',');
                    foreach (var item in InTransferUserNameList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserName.Contains(item + ","))
                        {
                            realentity.OutTransferUserName = realentity.OutTransferUserName.Replace(item + ",", "");
                        }
                    }

                    //当转交申请人存在于转交接收人时,将转交申请人中的这个账号剔除
                    string[] OutTransferUserAccountList = realentity.OutTransferUserAccount.Split(',');
                    foreach (var item in OutTransferUserAccountList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserAccount.Contains(item + ","))
                        {
                            realentity.InTransferUserAccount = realentity.InTransferUserAccount.Replace(item + ",", "");
                        }
                    }

                    string[] OutTransferUserIdList = realentity.OutTransferUserId.Split(',');
                    foreach (var item in OutTransferUserIdList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserId.Contains(item + ","))
                        {
                            realentity.InTransferUserId = realentity.InTransferUserId.Replace(item + ",", "");
                        }
                    }

                    string[] OutTransferUserNameList = realentity.OutTransferUserName.Split(',');
                    foreach (var item in OutTransferUserNameList)
                    {
                        if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserName.Contains(item + ","))
                        {
                            realentity.InTransferUserName = realentity.InTransferUserName.Replace(item + ",", "");
                        }
                    }

                    service.SaveForm(realentity.Id, realentity);
                    entity.Disable = 1;
                    service.SaveForm(keyValue, entity);
                }
                else
                {
                    entity.Disable = 1;
                    entity.OutTransferUserAccount += ",";
                    entity.OutTransferUserId      += ",";
                    entity.OutTransferUserName    += ",";
                    entity.InTransferUserAccount  += ",";
                    entity.InTransferUserId       += ",";
                    entity.InTransferUserName     += ",";
                    service.SaveForm(keyValue, entity);
                    entity.Disable = 0;
                    entity.Id      = "";
                    service.SaveForm(keyValue, entity);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }