/// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, StopreturnworkEntity entity)
        {
            //开始事务
            var res = DbFactory.Base().BeginTrans();

            try
            {
                entity.ID = keyValue;
                StopreturnworkEntity se = this.BaseRepository().FindEntity(keyValue);
                if (se == null)
                {
                    entity.Create();
                    res.Insert <StopreturnworkEntity>(entity);
                }
                else
                {
                    entity.Modify(keyValue);
                    res.Update <StopreturnworkEntity>(entity);
                }
                Repository <OutsouringengineerEntity> ourEngineer = new Repository <OutsouringengineerEntity>(DbFactory.Base());
                OutsouringengineerEntity engineerEntity           = ourEngineer.FindEntity(entity.OUTENGINEERID);
                engineerEntity.STOPRETURNSTATE = "1";
                res.Update <OutsouringengineerEntity>(engineerEntity);
                res.Commit();
            }
            catch (System.Exception)
            {
                res.Rollback();
            }
        }
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, OutsouringengineerEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="keyValue">主键</param>
        public void RemoveForm(string keyValue)
        {
            var res = DbFactory.Base().BeginTrans();

            try
            {
                StopreturnworkEntity se = this.BaseRepository().FindEntity(keyValue);
                Repository <OutsouringengineerEntity> ourEngineer = new Repository <OutsouringengineerEntity>(DbFactory.Base());
                OutsouringengineerEntity engineerEntity           = ourEngineer.FindEntity(se.OUTENGINEERID);
                engineerEntity.STOPRETURNSTATE = "0";
                res.Update <OutsouringengineerEntity>(engineerEntity);
                res.Delete <StopreturnworkEntity>(keyValue);
                res.Commit();
            }
            catch (Exception)
            {
                res.Rollback();
            }
        }
Beispiel #4
0
        public ActionResult GetFormJson(string keyValue)
        {
            OutsouringengineerBLL engneerBll = new OutsouringengineerBLL();
            var data = workMeetingbll.GetEntity(keyValue);

            if (data == null)
            {
                var loginUser = ERCHTMS.Code.OperatorProvider.Provider.Current();
                OutsouringengineerEntity eEntity = null;
                if (loginUser.isEpiboly == true)
                {
                    eEntity = engneerBll.GetEntity(loginUser.ProjectID);
                }
                data = new WorkMeetingEntity()
                {
                    MEETINGDATE = DateTime.Now
                };
                if (eEntity != null)
                {
                    data.ENGINEERID      = eEntity.ID;
                    data.ENGINEERNAME    = eEntity.ENGINEERNAME;
                    data.ENGINEERLEVEL   = eEntity.ENGINEERLEVEL;
                    data.ENGINEERTYPE    = eEntity.ENGINEERTYPE;
                    data.ENGINEERAREA    = eEntity.ENGINEERAREA;
                    data.ENGINEERLETDEPT = eEntity.ENGINEERLETDEPT;
                    data.ENGINEERCONTENT = eEntity.ENGINEERCONTENT;
                    data.ENGINEERCODE    = eEntity.ENGINEERCODE;
                    data.MEETINGNAME     = string.Format("{0}{1}开工会", DateTime.Now.ToString("yyyyMMdd"), data.ENGINEERNAME);
                }
            }
            var engneer = engneerBll.GetEntity(data.ENGINEERID);

            if (engneer != null)
            {
                data.OUTPROJECTNAME = new DepartmentBLL().GetEntity(engneer.OUTPROJECTID).FullName;
            }

            return(ToJsonResult(data));
        }
        private void ExportDataByCode(string keyValue, string tempPath, string fileName)
        {
            var    userInfo   = OperatorProvider.Provider.Current(); //获取当前用户
            string strDocPath = Server.MapPath(tempPath);

            Aspose.Words.Document doc     = new Aspose.Words.Document(strDocPath);
            DocumentBuilder       builder = new DocumentBuilder(doc);
            DataSet   ds    = new DataSet();
            DataTable dtPro = new DataTable("project");

            dtPro.Columns.Add("EngineerName");   //外包工程名称
            dtPro.Columns.Add("OUTPROJECTNAME"); //承包单位名称
            dtPro.Columns.Add("OrgName");        //电厂名称
            dtPro.Columns.Add("Reason");         //申请理由
            dtPro.Columns.Add("AUDITSIGNIMG1");  //承包商单位负责人

            dtPro.Columns.Add("AUDITOPINION1");  //部门负责人意见
            dtPro.Columns.Add("AUDITSIGNIMG2");  //部门负责人签名
            dtPro.Columns.Add("DATE1");          //部门审核时间

            dtPro.Columns.Add("AUDITOPINION2");  //生技部负责人意见
            dtPro.Columns.Add("AUDITSIGNIMG3");  //生技部负责人签名
            dtPro.Columns.Add("DATE2");          //生技部审核时间

            dtPro.Columns.Add("AUDITOPINION3");  //安环部负责人意见
            dtPro.Columns.Add("AUDITSIGNIMG4");  //安环部负责人签名
            dtPro.Columns.Add("DATE3");          //安环部审核时间

            HttpResponse resp = System.Web.HttpContext.Current.Response;

            var sc = SafetyCollectbll.GetEntity(keyValue);


            DataRow row = dtPro.NewRow();

            if (sc != null)
            {
                OutsouringengineerEntity eng = outsouringengineerbll.GetEntity(sc.EngineerId);
                OutsourcingprojectEntity pro = outProjectbll.GetOutProjectInfo(eng.OUTPROJECTID);

                row["EngineerName"]   = eng.ENGINEERNAME;
                row["OUTPROJECTNAME"] = pro.OUTSOURCINGNAME;
                row["OrgName"]        = userInfo.OrganizeName;
                row["Reason"]         = sc.Reason;
                row["AUDITSIGNIMG1"]  = eng.UnitSuper;
                //审核记录
                List <AptitudeinvestigateauditEntity> list = aptitudeinvestigateauditbll.GetAuditList(keyValue);
                #region 通用版本审核记录
                var i = 0;
                foreach (AptitudeinvestigateauditEntity entity in list)
                {
                    i++;
                    if (i == 1)
                    {
                        if (string.IsNullOrWhiteSpace(entity.AUDITSIGNIMG))
                        {
                            row["AUDITSIGNIMG2"] = Server.MapPath("~/content/Images/no_1.png");
                        }
                        else
                        {
                            var filepath = Server.MapPath("~/") + entity.AUDITSIGNIMG.ToString().Replace("../../", "").ToString();
                            if (System.IO.File.Exists(filepath))
                            {
                                row["AUDITSIGNIMG2"] = filepath;
                            }
                            else
                            {
                                row["AUDITSIGNIMG2"] = Server.MapPath("~/content/Images/no_1.png");
                            }
                        }
                        builder.MoveToMergeField("AUDITSIGNIMG2");
                        builder.InsertImage(row["AUDITSIGNIMG2"].ToString(), 80, 35);
                        row["AUDITOPINION1"] = !string.IsNullOrEmpty(entity.AUDITOPINION) ? entity.AUDITOPINION.ToString() : "";
                        row["DATE1"]         = entity.AUDITTIME.Value.ToString("yyyy年MM月dd日");
                    }
                    if (i == 2)
                    {
                        if (string.IsNullOrWhiteSpace(entity.AUDITSIGNIMG))
                        {
                            row["AUDITSIGNIMG3"] = Server.MapPath("~/content/Images/no_1.png");
                        }
                        else
                        {
                            var filepath = Server.MapPath("~/") + entity.AUDITSIGNIMG.ToString().Replace("../../", "").ToString();
                            if (System.IO.File.Exists(filepath))
                            {
                                row["AUDITSIGNIMG3"] = filepath;
                            }
                            else
                            {
                                row["AUDITSIGNIMG3"] = Server.MapPath("~/content/Images/no_1.png");
                            }
                        }
                        builder.MoveToMergeField("AUDITSIGNIMG3");
                        builder.InsertImage(row["AUDITSIGNIMG3"].ToString(), 80, 35);
                        row["AUDITOPINION2"] = !string.IsNullOrEmpty(entity.AUDITOPINION) ? entity.AUDITOPINION.ToString() : "";
                        row["DATE2"]         = entity.AUDITTIME.Value.ToString("yyyy年MM月dd日");
                    }
                    if (i == 3)
                    {
                        if (string.IsNullOrWhiteSpace(entity.AUDITSIGNIMG))
                        {
                            row["AUDITSIGNIMG4"] = Server.MapPath("~/content/Images/no_1.png");
                        }
                        else
                        {
                            var filepath = Server.MapPath("~/") + entity.AUDITSIGNIMG.ToString().Replace("../../", "").ToString();
                            if (System.IO.File.Exists(filepath))
                            {
                                row["AUDITSIGNIMG4"] = filepath;
                            }
                            else
                            {
                                row["AUDITSIGNIMG4"] = Server.MapPath("~/content/Images/no_1.png");
                            }
                        }
                        builder.MoveToMergeField("AUDITSIGNIMG4");
                        builder.InsertImage(row["AUDITSIGNIMG4"].ToString(), 80, 35);
                        row["AUDITOPINION3"] = !string.IsNullOrEmpty(entity.AUDITOPINION) ? entity.AUDITOPINION.ToString() : "";
                        row["DATE3"]         = entity.AUDITTIME.Value.ToString("yyyy年MM月dd日");
                    }
                }
                #endregion
            }

            dtPro.Rows.Add(row);
            doc.MailMerge.Execute(dtPro);
            doc.MailMerge.DeleteFields();
            doc.Save(resp, Server.UrlEncode(fileName), Aspose.Words.ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(SaveFormat.Doc));
        }
        private void ExportDataByCode(string keyValue, string tempPath, string fileName)
        {
            var userInfo = OperatorProvider.Provider.Current();  //获取当前用户
            string strDocPath = Server.MapPath(tempPath);
            Aspose.Words.Document doc = new Aspose.Words.Document(strDocPath);
            DataSet ds = new DataSet();
            DataTable dtPro = new DataTable("project");
            dtPro.Columns.Add("untilname");//单位名称
            dtPro.Columns.Add("legalperson");//法人代表
            dtPro.Columns.Add("projectname");//工程名称
            dtPro.Columns.Add("nowtime");
            dtPro.Columns.Add("itemopinion");
            dtPro.Columns.Add("itemhead");  //项目负责人
            dtPro.Columns.Add("techhead"); //生成技术负责人
            dtPro.Columns.Add("safehead"); //安全监督负责人

            dtPro.Columns.Add("contractperiod");//合同期限
            dtPro.Columns.Add("dutydept");//项目管理部门
            dtPro.Columns.Add("applyperson");//制表人
            dtPro.Columns.Add("applytime");//制表时间
            dtPro.Columns.Add("outhead"); 
            
            DataTable dt = new DataTable("people");
            dt.Columns.Add("no");
            dt.Columns.Add("name");
            dt.Columns.Add("sex");
            dt.Columns.Add("idcard");
            dt.Columns.Add("worktype");
            dt.Columns.Add("health");
            dt.Columns.Add("workyear");
            dt.Columns.Add("education");
            dt.Columns.Add("birthday");
            dt.Columns.Add("cardno");

            HttpResponse resp = System.Web.HttpContext.Current.Response;

            PeopleReviewEntity p = peoplereviewbll.GetEntity(keyValue);

            OutsouringengineerEntity eng = Outsouringengineernll.GetEntity(p.OUTENGINEERID);
            OutsourcingprojectEntity pro = Outsourcingprojectbll.GetOutProjectInfo(eng.OUTPROJECTID);

            DataRow row = dtPro.NewRow();
            var comList = new CompactBLL().GetComoactTimeByProjectId(eng.ID);
            if (comList.Rows.Count > 0)
            {
                var startTime = string.Empty;
                DateTime r = new DateTime();
                if (DateTime.TryParse(comList.Rows[0]["mintime"].ToString(), out r))
                {
                    startTime = r.ToString("yyyy年MM月dd日");
                }
                var endTime = string.Empty;
                DateTime e= new DateTime();
                if (DateTime.TryParse(comList.Rows[0]["maxtime"].ToString(), out e))
                {
                    endTime = e.ToString("yyyy年MM月dd日");
                }
                row["contractperiod"] = startTime + "至" + endTime;
            }
            row["untilname"] = pro.OUTSOURCINGNAME;
            row["legalperson"] = pro.LEGALREP;

            row["projectname"] = eng.ENGINEERNAME;
            row["nowtime"] = DateTime.Now.ToString("yyyy-MM-dd");
            row["dutydept"] = eng.ENGINEERLETDEPT;
            row["applyperson"] = p.CREATEUSERNAME;
            row["applytime"] = p.CREATEDATE.Value.ToString("yyyy年MM月dd日");
            var sendDeptid = eng.ENGINEERLETDEPTID;
            List<AptitudeinvestigateauditEntity> list = auditbll.GetAuditList(keyValue).OrderByDescending(x => x.AUDITTIME).ToList();
            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    if (sendDeptid == list[i].AUDITDEPTID)
                    {
                        var person = new UserBLL().GetEntity(list[i].AUDITPEOPLEID);
                        if (person != null)
                        {
                            //if (person.RoleName.Contains("负责人"))
                            //{
                                row["itemopinion"] = list[i].AUDITOPINION;
                                row["itemhead"] = list[i].AUDITPEOPLE;
                            //}
                        }
                    }
                    if (eng.OUTPROJECTID == list[i].AUDITDEPTID)
                    {
                        var person = new UserBLL().GetEntity(list[i].AUDITPEOPLEID);
                        if (person != null)
                        {
                            if (person.RoleName.Contains("负责人"))
                            {
                                row["outhead"] = list[i].AUDITPEOPLE;
                            }
                        }
                    }
                    string val = new DataItemDetailBLL().GetItemValue(userInfo.OrganizeCode);

                    if (!string.IsNullOrEmpty(val))
                    {
                        var deptList = val.Split(',');
                        if (deptList.Length > 1)
                        {
                            if (list[i].AUDITDEPTID.ToString() == deptList[0])
                            {
                                row["techhead"] = list[i].AUDITPEOPLE;
                            }
                            if (list[i].AUDITDEPTID == deptList[1])
                            {
                                row["safehead"] = list[i].AUDITPEOPLE;
                            }
                        }
                    }
                }
            }
            dtPro.Rows.Add(row);
            List<AptitudeinvestigatepeopleEntity> PeopleList = new AptitudeinvestigatepeopleBLL().GetList("").Where(x => x.PEOPLEREVIEWID == keyValue).ToList();
            if (PeopleList.Count > 0)
            {
                for (int i = 0; i < PeopleList.Count; i++)
                {
                    DataRow dtrow = dt.NewRow();
                    dtrow["no"] = (i + 1);
                    dtrow["name"] = PeopleList[i].REALNAME;
                    dtrow["sex"] = PeopleList[i].GENDER;
                    dtrow["idcard"] = PeopleList[i].IDENTIFYID;
                    dtrow["worktype"] = PeopleList[i].WORKOFTYPE;
                    dtrow["health"] = PeopleList[i].STATEOFHEALTH;
                    dtrow["workyear"] = PeopleList[i].WORKYEAR;
                    dtrow["education"] = PeopleList[i].DEGREESID;
                    dtrow["birthday"] = PeopleList[i].BIRTHDAY == null ? "" : PeopleList[i].BIRTHDAY.Value.ToString("yyyy-MM-dd");
                    string queryJson = Newtonsoft.Json.JsonConvert.SerializeObject(new
                    {
                        UserId = PeopleList[i].ID
                    });
                    var cardlist = new CertificateinspectorsBLL().GetList(queryJson).ToList();
                    for (int j = 0; j < cardlist.Count; j++)
                    {
                        dtrow["cardno"] += cardlist[j].CREDENTIALSCODE + ",";
                    }
                    if (dtrow["cardno"].ToString().Length > 0) {
                        dtrow["cardno"] = dtrow["cardno"].ToString().Substring(0, dtrow["cardno"].ToString().Length - 1);
                    }
                    dt.Rows.Add(dtrow);
                }
            }
            ds.Tables.Add(dt);
            ds.Tables.Add(dtPro);
            doc.MailMerge.Execute(dtPro);
            doc.MailMerge.ExecuteWithRegions(dt);
            doc.MailMerge.DeleteFields();
            doc.Save(resp, Server.UrlEncode(fileName), ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(SaveFormat.Doc));
        }
        public void ExportReport(string keyValue)
        {
            try
            {
                var userInfo = OperatorProvider.Provider.Current();  //获取当前用户
                string strDocPath = Server.MapPath("~/Resource/ExcelTemplate/人员资质审批表华润版本.doc");
                string fileName = "相关方施工人员进厂申请表_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
                Aspose.Words.Document doc = new Aspose.Words.Document(strDocPath);
                DocumentBuilder builder = new DocumentBuilder(doc);
                DataSet ds = new DataSet();
                DataTable dtPro = new DataTable("project");
                dtPro.Columns.Add("createdate");//申请时间
                dtPro.Columns.Add("outsourcingproject");//单位名称
                dtPro.Columns.Add("outsouringengineer");//工程名称
                dtPro.Columns.Add("predicttime");//计划工期
                dtPro.Columns.Add("engineerdirector");//施工负责人
                dtPro.Columns.Add("workpeoplecount");  //施工人数
                dtPro.Columns.Add("engineerletdeptid"); //用工部门
                dtPro.Columns.Add("linkman"); //联系人

                dtPro.Columns.Add("ygauditidea");//用工部门审核意见
                dtPro.Columns.Add("ygauditdate");//用工部门审核时间
                dtPro.Columns.Add("ehsauditidea");//EHS部审核意见
                dtPro.Columns.Add("ehsauditdate");//EHS部审核时间
                dtPro.Columns.Add("bgsauditidea");//办公室审核意见
                dtPro.Columns.Add("bgsauditdate");//办公室审核时间

                HttpResponse resp = System.Web.HttpContext.Current.Response;

                PeopleReviewEntity p = peoplereviewbll.GetEntity(keyValue);

                OutsouringengineerEntity eng = Outsouringengineernll.GetEntity(p.OUTENGINEERID);
                OutsourcingprojectEntity pro = Outsourcingprojectbll.GetOutProjectInfo(eng.OUTPROJECTID);

                DataRow row = dtPro.NewRow();
                row["createdate"] =Convert.ToDateTime(p.CREATEDATE).ToString("yyyy年MM月dd日");
                row["outsourcingproject"] = pro.OUTSOURCINGNAME;
                row["outsouringengineer"] = eng.ENGINEERNAME;
                row["predicttime"] = eng.PREDICTTIME;
                row["engineerdirector"] = eng.ENGINEERDIRECTOR;
                row["engineerletdeptid"] = eng.ENGINEERLETDEPT;
                row["linkman"] = pro.LINKMAN;
                row["workpeoplecount"] = aptitudeinvestigatepeoplebll.GetList("").Where(t => t.PEOPLEREVIEWID == keyValue).Count();
                List<AptitudeinvestigateauditEntity> list = auditbll.GetAuditList(keyValue).OrderByDescending(x => x.AUDITTIME).ToList();
                string pic = Server.MapPath("~/content/Images/no_1.png");//默认图片
                if (list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        var filepath = list[i].AUDITSIGNIMG == null ? "" : (Server.MapPath("~/") + list[i].AUDITSIGNIMG.ToString().Replace("../../", "").ToString()).Replace(@"\/", "/").ToString();
                        var stime = Convert.ToDateTime(list[i].AUDITTIME);
                        if (i == 0)
                        {
                            row["ygauditidea"] = list[i].AUDITOPINION;
                            //zauditusername = list[i].AuditUserName;
                            builder.MoveToMergeField("ygauditusername");
                            row["ygauditdate"] = stime.ToString("yyyy年MM月dd日");
                        }
                        else if (i == 1)
                        {
                            row["ehsauditidea"] = list[i].AUDITOPINION;
                            //sauditusername = list[i].AuditUserName;
                            builder.MoveToMergeField("ehsauditusername");
                            row["ehsauditdate"] = stime.ToString("yyyy年MM月dd日");
                        }
                        else if (i == 2)
                        {
                            row["bgsauditidea"] = list[i].AUDITOPINION;
                            //aauditusername = list[i].AuditUserName;
                            builder.MoveToMergeField("bgsauditusername");
                            row["bgsauditdate"] = stime.ToString("yyyy年MM月dd日");

                        }

                        if (!System.IO.File.Exists(filepath))
                        {
                            filepath = pic;
                        }
                        builder.InsertImage(filepath, 80, 35);
                    }
                }
                dtPro.Rows.Add(row);
                doc.MailMerge.Execute(dtPro);
                doc.MailMerge.DeleteFields();
                doc.Save(resp, Server.UrlEncode(fileName), ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(SaveFormat.Doc));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #8
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, string type, ToolsEntity entity)
        {
            Operator curUser = ERCHTMS.Code.OperatorProvider.Provider.Current();
            var      res     = DbFactory.Base().BeginTrans();

            try
            {
                List <ProjecttoolsEntity> list   = ProjecttoolsService.GetList(" and TOOLSID='" + keyValue + "'").ToList();
                List <string>             zylist = new List <string>();
                string zystr = "";
                foreach (var item in list.Select(t => t.TOOLTYPE).ToArray().Distinct().ToList())
                {
                    zylist = zylist.AsEnumerable().Union(DataItemDetailService.GetDataItemByDetailValue("ToolEquipmentType", item).FirstOrDefault().Description.Split(',')).ToList();
                }
                zystr = string.Join(",", zylist.Distinct().ToList());
                entity.SpecialtyType = zystr;
                #region 保存
                if (type == "1")          //保存
                {
                    entity.ISSAVED = "0"; //标记当前记录处于登记阶段
                    entity.ISOVER  = "0"; //流程未完成,1表示完成
                    entity.TOOLSID = keyValue;
                    if (!string.IsNullOrEmpty(keyValue))
                    {
                        ToolsEntity se = this.BaseRepository().FindEntity(keyValue);
                        if (se == null)
                        {
                            entity.Create();
                            res.Insert <ToolsEntity>(entity);
                        }
                        else
                        {
                            entity.Modify(keyValue);
                            res.Update <ToolsEntity>(entity);
                        }
                    }
                    else
                    {
                        entity.Create();
                        res.Insert <ToolsEntity>(entity);
                    }
                }
                #endregion
                #region 提交
                if (type == "2")//提交
                {
                    string state         = string.Empty;
                    string moduleName    = entity.EQUIPTYPE == "2" ? "特种设备工器具" : "设备工器具";
                    string outengineerid = entity.OUTENGINEERID;
                    Repository <OutsouringengineerEntity> ourEngineer = new Repository <OutsouringengineerEntity>(DbFactory.Base());
                    OutsouringengineerEntity engineerEntity           = ourEngineer.FindEntity(entity.OUTENGINEERID);
                    //currUser:当前登录人,state:是否有权限审核 1:能审核 0 :不能审核,moduleName:模块名称,outengineerid:工程Id
                    ManyPowerCheckEntity mpcEntity = peopleReview.CheckAuditPower(curUser, out state, moduleName, outengineerid, false);
                    if (null != mpcEntity)
                    {
                        //保存设备工器具记录
                        entity.FLOWDEPT     = mpcEntity.CHECKDEPTID;
                        entity.FLOWDEPTNAME = mpcEntity.CHECKDEPTNAME;
                        entity.FLOWROLE     = mpcEntity.CHECKROLEID;
                        entity.FLOWROLENAME = mpcEntity.CHECKROLENAME;
                        entity.ISSAVED      = "1"; //标记已经从登记到审核阶段
                        entity.ISOVER       = "0"; //流程未完成,1表示完成
                        entity.FlowId       = mpcEntity.ID;
                        entity.FLOWNAME     = mpcEntity.FLOWNAME;
                    }
                    else  //为空则表示已经完成流程
                    {
                        entity.FLOWDEPT     = "";
                        entity.FLOWDEPTNAME = "";
                        entity.FLOWROLE     = "";
                        entity.FLOWROLENAME = "";
                        entity.ISSAVED      = "1"; //标记已经从登记到审核阶段
                        entity.ISOVER       = "1"; //流程未完成,1表示完成
                        entity.FLOWNAME     = "";
                        entity.FlowId       = "";
                        #region 更新工程流程状态
                        Repository <StartappprocessstatusEntity> proecss = new Repository <StartappprocessstatusEntity>(DbFactory.Base());
                        StartappprocessstatusEntity startProecss         = proecss.FindList(string.Format("select * from epg_startappprocessstatus t where t.outengineerid='{0}'", entity.OUTENGINEERID)).ToList().FirstOrDefault();
                        startProecss.EQUIPMENTTOOLSTATUS = "1";
                        res.Update <StartappprocessstatusEntity>(startProecss);
                        #endregion
                        #region  步设备
                        if (entity.EQUIPTYPE == "2")
                        {
                            new SpecialEquipmentService().SyncSpecificTools(entity.OUTENGINEERID, entity.OUTPROJECTID, entity.TOOLSID);
                        }
                        #endregion
                    }
                    entity.TOOLSID = keyValue;
                    if (!string.IsNullOrEmpty(keyValue))
                    {
                        ToolsEntity se = this.BaseRepository().FindEntity(keyValue);
                        if (se == null)
                        {
                            entity.Create();
                            res.Insert <ToolsEntity>(entity);
                        }
                        else
                        {
                            entity.Modify(keyValue);
                            res.Update <ToolsEntity>(entity);
                        }
                    }
                    else
                    {
                        entity.Create();
                        res.Insert <ToolsEntity>(entity);
                    }
                }
                #endregion
                res.Commit();
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, ReturntoworkEntity entity)
        {
            Operator currUser = OperatorProvider.Provider.Current();
            //开始事务
            var res = DbFactory.Base().BeginTrans();

            try
            {
                entity.ID = keyValue;
                ReturntoworkEntity re = this.BaseRepository().FindEntity(keyValue);
                if (re == null)
                {
                    entity.Create();
                    string sql  = string.Format("select * from epg_returntowork t where t.createuserorgcode ='{0}'", entity.CREATEUSERORGCODE);
                    int    Code = this.BaseRepository().FindList(sql).ToList().Count;
                    switch (Code.ToString().Length)
                    {
                    case 1:
                        entity.APPLYNO = "FG000" + (Code + 1);
                        break;

                    case 2:
                        entity.APPLYNO = "FG00" + (Code + 1);
                        break;

                    case 3:
                        entity.APPLYNO = "FG0" + (Code + 1);
                        break;

                    default:
                        entity.APPLYNO = "FG" + (Code + 1);
                        break;
                    }
                    res.Insert <ReturntoworkEntity>(entity);
                }
                else
                {
                    entity.Modify(keyValue);
                    res.Update <ReturntoworkEntity>(entity);
                }
                if (entity.ISCOMMIT == "1")
                {
                    var sendDeptid = new DepartmentService().GetList().Where(x => x.DepartmentId == entity.OUTPROJECTID).ToList().FirstOrDefault().SendDeptID;
                    if (currUser.RoleName.Contains("公司级用户") || currUser.RoleName.Contains("厂级部门用户") ||
                        (sendDeptid == currUser.DeptId && currUser.RoleName.Contains("负责人")) ||
                        (sendDeptid == currUser.DeptId && currUser.RoleName.Contains("安全管理人员")))
                    {
                        AptitudeinvestigateauditEntity e = new AptitudeinvestigateauditEntity();
                        e.AUDITDEPT     = currUser.DeptId;
                        e.AUDITDEPT     = currUser.DeptName;
                        e.AUDITPEOPLE   = currUser.UserName;
                        e.AUDITPEOPLEID = currUser.UserId;
                        e.AUDITRESULT   = "0";
                        e.APTITUDEID    = entity.ID;
                        e.ID            = Guid.NewGuid().ToString();
                        res.Insert <AptitudeinvestigateauditEntity>(e);
                        Repository <OutsouringengineerEntity> ourEngineer = new Repository <OutsouringengineerEntity>(DbFactory.Base());
                        OutsouringengineerEntity engineerEntity           = ourEngineer.FindEntity(entity.OUTENGINEERID);
                        engineerEntity.STOPRETURNSTATE = "0";
                        res.Update <OutsouringengineerEntity>(engineerEntity);
                    }
                }
                res.Commit();
            }
            catch (System.Exception)
            {
                res.Rollback();
            }
        }
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, string state, string auditid, SafetyEamestMoneyEntity entity, List <SafetyMoneyExamineEntity> list)
        {
            var res = DbFactory.Base().BeginTrans();

            try
            {
                Operator currUser = OperatorProvider.Provider.Current();
                entity.ID     = keyValue;
                entity.ISSEND = state;
                if (!string.IsNullOrEmpty(keyValue))
                {
                    SafetyEamestMoneyEntity se = this.BaseRepository().FindEntity(keyValue);
                    if (se == null)
                    {
                        entity.Create();
                        res.Insert <SafetyEamestMoneyEntity>(entity);
                    }
                    else
                    {
                        entity.Modify(keyValue);
                        res.Update <SafetyEamestMoneyEntity>(entity);
                    }
                }
                else
                {
                    entity.Create();
                    res.Insert <SafetyEamestMoneyEntity>(entity);
                }
                //1发送审核,0保存
                if (state == "1")
                {
                    Repository <OutsouringengineerEntity> repEng = new Repository <OutsouringengineerEntity>(DbFactory.Base());
                    OutsouringengineerEntity outeng = repEng.FindEntity(entity.PROJECTID);
                    var sendDeptid = outeng.ENGINEERLETDEPTID;

                    if (currUser.RoleName.Contains("公司级用户") || currUser.RoleName.Contains("厂级部门用户") ||
                        (sendDeptid == currUser.DeptId && currUser.RoleName.Contains("负责人")) ||
                        (sendDeptid == currUser.DeptId && currUser.RoleName.Contains("安全管理员")) || (sendDeptid == currUser.DeptId && currUser.RoleName.Contains("专工")))
                    {
                        AptitudeinvestigateauditEntity e = new AptitudeinvestigateauditEntity();
                        if (!string.IsNullOrEmpty(auditid))
                        {
                            e               = Aptitudeinvestigateaudit.GetEntity(auditid);
                            e.AUDITDEPT     = currUser.DeptId;
                            e.AUDITDEPT     = currUser.DeptName;
                            e.AUDITPEOPLE   = currUser.UserName;
                            e.AUDITPEOPLEID = currUser.UserId;
                            e.AUDITRESULT   = "0";
                        }
                        else
                        {
                            e.AUDITRESULT   = "0";
                            e.AUDITDEPT     = currUser.DeptId;
                            e.AUDITDEPT     = currUser.DeptName;
                            e.AUDITPEOPLE   = currUser.UserName;
                            e.AUDITPEOPLEID = currUser.UserId;
                            e.APTITUDEID    = entity.ID;
                            //Aptitudeinvestigateaudit.SaveForm(auditid, e);
                        }
                        Aptitudeinvestigateaudit.SaveForm(auditid, e);
                        Repository <StartappprocessstatusEntity> proecss = new Repository <StartappprocessstatusEntity>(DbFactory.Base());
                        StartappprocessstatusEntity startProecss         = proecss.FindList(string.Format("select * from epg_startappprocessstatus t where t.outengineerid='{0}'", entity.PROJECTID)).ToList().FirstOrDefault();
                        startProecss.SECURITYSTATUS = "1";

                        startprocess.SaveForm(startProecss.ID, startProecss);
                    }
                    else
                    {
                        AptitudeinvestigateauditEntity e = new AptitudeinvestigateauditEntity();
                        if (!string.IsNullOrEmpty(auditid))
                        {
                            e               = Aptitudeinvestigateaudit.GetEntity(auditid);
                            e.AUDITDEPT     = currUser.DeptId;
                            e.AUDITDEPT     = currUser.DeptName;
                            e.AUDITPEOPLE   = currUser.UserName;
                            e.AUDITPEOPLEID = currUser.UserId;
                            e.AUDITRESULT   = "2";
                            Aptitudeinvestigateaudit.SaveForm(auditid, e);
                        }
                        else
                        {
                            e.AUDITRESULT   = "2";
                            e.AUDITDEPT     = currUser.DeptId;
                            e.AUDITDEPT     = currUser.DeptName;
                            e.AUDITPEOPLE   = currUser.UserName;
                            e.AUDITPEOPLEID = currUser.UserId;
                            e.APTITUDEID    = entity.ID;
                            Aptitudeinvestigateaudit.SaveForm(auditid, e);
                        }
                    }
                }
                //string sql = string.Format("delete epg_safetymoneyexamine t where t.safetymoneyid='{0}'", keyValue);
                //res.ExecuteBySql(sql);
                if (list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        list[i].Create();
                        list[i].ExamineDept     = currUser.DeptName;
                        list[i].ExamineDeptId   = currUser.DeptId;
                        list[i].ExamineToDept   = entity.DEPTNAME;
                        list[i].ExamineToDeptId = entity.DEPTID;
                    }
                    res.Insert <SafetyMoneyExamineEntity>(list);
                }
                res.Commit();
            }
            catch (System.Exception)
            {
                res.Rollback();
            }
        }