示例#1
0
        public string AllotSingleProject(string SingleProjectID, string ChargeUserID, string WorkFlowID)
        {
            try {
                //激活工程
                T_SingleProject_MDL singleProjectMDL = singleProjectBLL.GetModel(ConvertEx.ToInt(SingleProjectID));

                singleProjectMDL.Status = 1;
                int CompanyID = 0;

                #region 没有工程编号则生成
                if (String.IsNullOrEmpty(singleProjectMDL.gcbm))
                {
                    T_Other_BLL otherBLL = new T_Other_BLL();
                    singleProjectMDL.gcbm = otherBLL.GetNewEngineerID();
                    singleProjectBLL.Update(singleProjectMDL);       //产生工程号

                    T_Construction_Project_BLL       cpBLL = new T_Construction_Project_BLL();
                    Model.T_Construction_Project_MDL cpMDL = cpBLL.GetModel(singleProjectMDL.ConstructionProjectID);
                    if (cpMDL != null)
                    {
                        CompanyID = cpMDL.CompanyID;                  //建设单位ID
                        if (String.IsNullOrEmpty(cpMDL.xmh))
                        {
                            cpMDL.xmh = otherBLL.GetNewProjectID();
                            cpBLL.Update(cpMDL);                      //更新项目号
                        }
                    }
                }
                #endregion

                #region 激活用户
                T_UsersInfo_BLL userBLL = new T_UsersInfo_BLL();
                T_UsersInfo_MDL userMDL = userBLL.GetModel(singleProjectMDL.CompanyUserID);
                if (userMDL != null)
                {
                    userMDL.IsValid = true;
                    userBLL.Update(userMDL);
                }
                #endregion

                #region 修改工程分配信息
                if (singleProjectMDL != null)
                {
                    singleProjectMDL.AllotDate    = DateTime.Now;                                         //分配时间
                    singleProjectMDL.AllotUserID  = ConvertEx.ToInt(Common.Session.GetSession("UserId")); //分配人员
                    singleProjectMDL.ChargeUserID = ConvertEx.ToInt(ChargeUserID);                        //业务指导人员

                    singleProjectBLL.Update(singleProjectMDL);
                }
                #endregion

                #region 添加建设单位归档目录
                string iSignaturePdf      = "0"; //文件是否需要签章
                string iSignatureWorkFlow = "0"; //是否按签章流程签章
                if (ConvertEx.ToBool(SystemSet._ISIGNATUREPDF))
                {
                    iSignaturePdf      = "1";
                    iSignatureWorkFlow = "1";
                }
                new UserOperate().CopyFileList(CompanyID, singleProjectMDL.CompanyUserID, "",
                                               singleProjectMDL.SingleProjectID, singleProjectMDL.ProjectType, iSignaturePdf, iSignatureWorkFlow);
                #endregion

                #region 把业务指导人员用户加入到这个工程用户中去
                T_UsersInfo_MDL ChargeUserMDL = userBLL.GetModel(Common.ConvertEx.ToInt(ChargeUserID));
                PublicModel.AddSingleProjectUser(singleProjectMDL.SingleProjectID, ChargeUserMDL);
                #endregion

                #region 相关流程的用户也需要加入,否则流程走不下去===现在有了受理,可以达到这个功能,不需要加了。让用户受理下来。受理还没做完呢?
                SingleProjectUser  projectRole = new SingleProjectUser();
                BLL.T_WorkFlow_BLL workFlowBLL = new T_WorkFlow_BLL();
                DataSet            workFlowDS  = workFlowBLL.GetList(" OrderIndex=1 ");
                if (workFlowDS.Tables.Count > 0)
                {
                    foreach (DataRow row in workFlowDS.Tables[0].Rows)
                    {
                        projectRole.Update(singleProjectMDL.SingleProjectID, Common.ConvertEx.ToInt(row["RoleID"]), Common.ConvertEx.ToInt(row["UserID"]));
                    }
                }
                #endregion

                #region 发送邮件通知客户
                if (SystemSet._ACCEPTSINGLE_SENDEMAILFLAG)
                {
                    string strMsgBody = "您好!<br />";
                    strMsgBody += "您报建的工程:" + singleProjectMDL.gcmc + ",已确认通过,产生的工程编号是:" +
                                  singleProjectMDL.gcbm + ",您现在已经可以通过注册时的账号密码登记系统操作了!";

                    T_UsersInfo_MDL CompanyUserMDL = userBLL.GetModel(singleProjectMDL.CompanyUserID);
                    Common.CSendEmail.SendEmail("档案馆", CompanyUserMDL.EMail, "工程报建确认通知", strMsgBody, "");
                }
                #endregion

                #region  提交到下一个流程
                WorkFlowManage workflowmanage = new WorkFlowManage();
                workflowmanage.GoNextProjectWorkFlowSataus(singleProjectMDL.SingleProjectID, ConvertEx.ToInt(WorkFlowID));
                #endregion

                #region 将指导人员指导环节的所有 [受理]全部 做,这样,除了管理员和受理人员外,其他人都看不到流程下的工程
                T_WorkFlowDefine_BLL         workFlowDefineBLL = new T_WorkFlowDefine_BLL();
                IList <T_WorkFlowDefine_MDL> workFlowDefineLT  = workFlowDefineBLL.GetModelList(" SingleProjectID=" +
                                                                                                singleProjectMDL.SingleProjectID + " and WorkFlowID in(" + SystemSet._DEFAULT_RECV_WORKFLOWID + ") ");
                if (workFlowDefineLT != null && workFlowDefineLT.Count > 0)
                {
                    foreach (T_WorkFlowDefine_MDL wkdMDL in workFlowDefineLT)
                    {
                        wkdMDL.SubmitStatus = 2;//受理完成状态
                        wkdMDL.RecvUserID   = Common.ConvertEx.ToInt(ChargeUserID);
                        wkdMDL.RecvDateTime = DateTime.Now;
                        workFlowDefineBLL.Update(wkdMDL);
                    }
                }
                #endregion

                return(singleProjectMDL.gcbm);
            } catch (Exception ex) {
                return(SystemSet._RETURN_FAILURE_VALUE + ex.Message);
            }
        }
示例#2
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSave_Click(object sender, EventArgs e)
        {
            T_SingleProject_MDL spModel = new T_SingleProject_MDL();

            spModel = ctrlCompanyRegBaseInfo3_11.GetModule(ConvertEx.ToInt(SingleProjectID));

            a_single_project_MDL a_Single_Mdl = new a_single_project_MDL();

            a_Single_Mdl    = ctrlCompanyRegBaseInfo3_1Ext1.GetModule(ConvertEx.ToInt(SingleProjectID));
            a_Single_Mdl.fz = spModel.fz;

            if (spModel != null)
            {
                if (spModel.SingleProjectID <= 0 || (CommonEnum.PageState)ViewState["ps"] == CommonEnum.PageState.ADD)
                {
                    #region 添加工程信息
                    spModel.ConstructionProjectID = ConvertEx.ToInt(ctrlDropDownConstructionProject1.SelectValue);
                    spModel.ProjectType           = ctrlArchiveFormType1.SelectValue;
                    spModel.AREA_CODE             = AREA_CODE.SelectValue;
                    spModel.gcbm = "";

                    string UserID = "";
                    if (Common.Session.GetSession("tUserID") != "")
                    {
                        UserID = Common.Session.GetSession("tUserID");
                    }
                    else if (Common.Session.GetSession("UserID") != "")
                    {
                        UserID = Common.Session.GetSession("UserID");
                    }
                    spModel.CompanyUserID = Common.ConvertEx.ToInt(UserID);
                    spModel.CreateDate    = DateTime.Now;
                    spModel.Status        = 0;
                    int tmpSingleProjectID = singleProjectBLL.Add(spModel);
                    #endregion

                    #region 添加工程流程环节
                    new T_WorkFlowDefine_BLL().AddWorkFlowDefine(tmpSingleProjectID, spModel.AREA_CODE);
                    #endregion

                    #region 更新当前用户为本工程管理员
                    T_UsersInfo_BLL userBll = new T_UsersInfo_BLL();
                    T_UsersInfo_MDL userMdl = userBll.GetModel(Common.ConvertEx.ToInt(UserID));
                    userMdl.IsLeader = true;
                    userBll.Update(userMdl);
                    #endregion

                    #region 把此用户加入到这个工程用户中去
                    SingleProjectUser projectRole = new SingleProjectUser();
                    projectRole.Update(tmpSingleProjectID, userMdl.RoleID, userMdl.UserID);
                    #endregion

                    #region 加入到工程->公司表中去
                    T_SingleProjectCompany_MDL spcMDL = new T_SingleProjectCompany_MDL();
                    spcMDL.SingleProjectID = tmpSingleProjectID;
                    spcMDL.CompanyID       = Common.Session.GetSessionInt("CompanyID");
                    T_SingleProjectCompany_BLL spcBLL = new T_SingleProjectCompany_BLL();
                    spcBLL.Add(spcMDL);
                    #endregion

                    #region 房屋专业记载
                    a_Single_Mdl.SingleProjectID = tmpSingleProjectID;
                    if (asingleProjectBLL.Exists(tmpSingleProjectID))
                    {
                        asingleProjectBLL.Update(a_Single_Mdl);
                    }
                    else
                    {
                        asingleProjectBLL.Add(a_Single_Mdl);
                    }
                    #endregion

                    #region 日志
                    PublicModel.writeLog(SystemSet.EumLogType.AddData.ToString(), string.Concat("T_SingleProject;key=", tmpSingleProjectID,
                                                                                                ";ProjectType=", spModel.ProjectType, ";gcbm=", spModel.gcbm, ";gcmc=", spModel.gcmc));
                    #endregion
                }
                else
                {
                    #region 更新工程信息
                    singleProjectBLL.Update(spModel);
                    #endregion

                    #region  判断工程,如果没有专业记载,则新增,否则修改
                    if (ConvertEx.ToInt(a_Single_Mdl.SingleProjectID) > 0)
                    {
                        asingleProjectBLL.Update(a_Single_Mdl);
                    }
                    else
                    {
                        a_Single_Mdl.SingleProjectID = spModel.SingleProjectID;
                        asingleProjectBLL.Add(a_Single_Mdl);
                    }
                    #endregion

                    #region 日志
                    PublicModel.writeLog(SystemSet.EumLogType.UpdData.ToString(), string.Concat("T_SingleProject;key=", spModel.SingleProjectID,
                                                                                                ";ProjectType=", spModel.ProjectType, ";gcbm=", spModel.gcbm, ";gcmc=", spModel.gcmc));
                    #endregion
                }
            }
            Common.MessageBox.CloseLayerOpenWeb(this.Page);
        }