Exemplo n.º 1
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, LllegalExtensionEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
        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("操作成功。");
        }
Exemplo n.º 3
0
        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()));
            }
        }