Ejemplo n.º 1
0
 /// <summary>
 /// 将拒绝的Item更新到list
 /// </summary>
 public void UpdateItemApproveStatus()
 {
     Common com = new Common();
     foreach (RepeaterItem item in RepeaterPOData.Items)
     {
         HiddenField HiddenFieldID = item.FindControl("HiddenFieldID") as HiddenField;
         DropDownList DropDownListApprove = item.FindControl("DropDownListApprove") as DropDownList;
         if (DropDownListApprove.SelectedValue=="0")
         {
             com.UpdateItemApproveStatus(HiddenFieldID.Value,false);
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 绑定Workflow里的Item数据
        /// </summary>
        public void BindData()
        {
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            string sWorkflowNO = fields["Title"].ToString();

            Common comm = new Common();
            DataTable dt = new DataTable();
            dt = comm.GetData(sWorkflowNO);

            RepeaterPOData.DataSource = dt;
            RepeaterPOData.DataBind();
            LabelCount.Text = dt.Rows.Count.ToString();
            SetItemApproveStatus();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 开启工作流
        /// </summary>
        /// <param name="isSubmit"></param>
        /// <returns></returns>
        bool StartWorkflow(bool isSubmit)
        {
            bool isSuccess = true;
            bool isOK = DataEdit1.CheckData();//验证子项
            if (!isOK)
            {
                return false;
            }
            string sWorkflowNumber = CreateWorkFlowNumber();

            DataTable dt = DataEdit1.GetResultDt(sWorkflowNumber);
            if (null == dt || dt.Rows.Count == 0)
            {
                return false;
            }
            else
            {
                bool isSetVariable= SetWorkflowVariable(sWorkflowNumber, isSubmit);
                if (!isSetVariable)
                {
                    return false;
                }

                bool isNeedApprove = DataEdit1.IsNeedApprove();
                string sSate = CAWorkflowStatus.InProgress;
                Common comm = new Common();
                comm.BatchAddToListByDatatable(dt, "POTypeChangeItems");
                if (isSubmit&&!isNeedApprove)//不需要审批
                {
                    List<string> lisSucPONOs = new List<string>();
                    bool isAllUpdated = DataEdit1.UpdateToSAP(sWorkflowNumber, ref lisSucPONOs);
                    if (isAllUpdated)//全部更新成功。
                    {
                        comm.UpdateOSPSuccess(sWorkflowNumber);
                        sSate = CAWorkflowStatus.Completed;
                        //string sPONO = comm.GetPONOs(dt);
                    }
                    else
                    {
                        WorkflowContext context = WorkflowContext.Current;
                        context.UpdateWorkflowVariable("IsSubmit", false);
                        context.UpdateWorkflowVariable("IsResubmit", true);
                        context.UpdateWorkflowVariable("EditTitle", "Please complete POTypeChange:" + sWorkflowNumber);
                    }
                    if (lisSucPONOs.Count > 0)
                    {
                        comm.SendNoticeMail(lisSucPONOs.ToString(), CurrentEmployee.DisplayName, sWorkflowNumber);
                    }
                }

                SetListValue(sWorkflowNumber, sSate);
                return isSuccess;
            }
        }
Ejemplo n.º 4
0
        ///tss =CS-Nom
        ///cs= norm-CS
        /// <summary>
        /// 执行工作流
        /// </summary>
        /// <param name="isSubmit"></param>
        /// <returns></returns>
        bool RunWorkflow(bool isSubmit)
        {
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            string sWorkflowNO = fields["Title"].ToString();
            bool isSuccess = true;

            DataTable dt = DataEdit1.GetResultDt(sWorkflowNO);
            if (null == dt || dt.Rows.Count == 0)
            {
                DisplayMessage("No avaliable data!");
                return false;
            }
            else
            {

                bool isSetVariable = SetWorkflowVariable(sWorkflowNO, isSubmit);
                if (!isSetVariable)
                {
                    return false;
                }

                Common comm = new Common();
                comm.DeleteData(sWorkflowNO);//删除老数据
                comm.BatchAddToListByDatatable(dt, "POTypeChangeItems");//添加新数据
                WorkflowContext context = WorkflowContext.Current;
                string sSate = CAWorkflowStatus.InProgress;

                bool IsNeedApprove = DataEdit1.IsNeedApprove();
                if (isSubmit && !IsNeedApprove)//不需要审批
                {
                    List<string> lisSucPONOs = new List<string>();
                    bool isAllUpdated = DataEdit1.UpdateToSAP(sWorkflowNO, ref lisSucPONOs);
                    if (isAllUpdated)//全部更新成功。
                    {
                        comm.UpdateOSPSuccess(sWorkflowNO);
                        sSate = CAWorkflowStatus.Completed;
                    }
                    else
                    {
                        context.UpdateWorkflowVariable("IsSubmit", false);
                        context.UpdateWorkflowVariable("IsResubmit", false);
                        context.UpdateWorkflowVariable("EditTitle", "Please complete POTypeChange:" + sWorkflowNO);
                    }
                    if (lisSucPONOs.Count > 0)
                    {
                        comm.SendNoticeMail(lisSucPONOs.ToString(), CurrentEmployee.DisplayName, sWorkflowNO);
                    }
                }
                SetListValue(sSate);
                return isSuccess;
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 更新到SAP
        /// </summary>
        /// <returns></returns>
        public bool UpdateToSAP()
        {
            StringBuilder sbError = new StringBuilder();
            StringBuilder sbSuccess = new StringBuilder();
            bool isAllSuccess = true;

            DataTable dtResult = new DataTable();
            DataTable dtPars = new DataTable();
            Common comm = new Common();

            dtPars = GetUpdatePars();
            dtResult= comm.UpdateOSPPrice(dtPars);
            foreach (DataRow dr in dtResult.Rows)
            {
                string sPONO = dr["PONO"] == null ? string.Empty : dr["PONO"].ToString();
                string sStatus=dr["Status"]==null?string.Empty:dr["Status"].ToString();
                if (sStatus == "1")//是更新成功的
                {
                    UpdateItemStaus(sPONO, true);
                    sbSuccess.Append(string.Format("PO No. {0} update successed \\n", sPONO));
                }
                else//更新失败。
                {
                    string sError = dr["ErrorInfo"] == null ? string.Empty : dr["ErrorInfo"].ToString();
                    sbError.Append(string.Format("PO No. {0} update failed,error info:{1} \\n", sPONO, sError));
                    isAllSuccess = false;
                    UpdateItemStaus(sPONO, false);
                }
            }

            string sPADUpdateError = UpdatePAD(dtPars);
            if (sPADUpdateError.Length > 0)
            {
                isAllSuccess = false;
            }
            Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", string.Format("<script>alert('{0}\\n{1}\\n\\n{2}')</script>", sbError.ToString(), sPADUpdateError, sbSuccess.ToString()));
            return isAllSuccess;
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 更新list里该 StyleNO的审批为True,SAP的更新状态。 
 /// </summary>
 /// <param name="sStyleNo"></param>
 /// <param name="isSuccess"></param>
 void UpdateItemStaus(string sStyleNo,bool isSuccess)
 {
     Common comm = new Common();
     foreach (RepeaterItem item in RepeaterPOData.Items)
     {
         Label LabelPONO = item.FindControl("LabelPONO") as Label;
         if (sStyleNo == LabelPONO.Text.Trim())
         {
             HiddenField HiddenFieldID = item.FindControl("HiddenFieldID") as HiddenField;///当前Item的 ID
             HiddenField HiddenFieldISSuccess = item.FindControl("HiddenFieldISSuccess") as HiddenField;///当前Item的 ID
             comm.UpdateItemSapStatus(HiddenFieldID.Value, true, isSuccess);///更新list里该 StyleNO的审批为True,SAP的更新状态。
             HiddenFieldISSuccess.Value = isSuccess?"1":"0";
         }
     }
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 更新list里该 StyleNO的IsPADSuccess的更新状态。 
 /// </summary>
 /// <param name="sWorkflowNo"></param>
 /// <param name="sPONO"></param>
 /// <param name="IsPADSuccess"></param>
 void UpdateItemPADState(string sWorkflowNo, string sPONO, bool isPADSuccess)
 {
     Common comm = new Common();
     foreach (RepeaterItem item in RepeaterPOData.Items)
     {
         Label LabelPONO = item.FindControl("LabelPONO") as Label;
         if (sPONO == LabelPONO.Text.Trim())
         {
             HiddenField HiddenFieldIsPADSuccess = item.FindControl("HiddenFieldIsPADSuccess") as HiddenField;
             comm.UpdatePADStatus(sWorkflowNo, sPONO, isPADSuccess);
             HiddenFieldIsPADSuccess.Value = isPADSuccess ? "1" : "0";
         }
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 设置Item的审批状态
 /// </summary>
 void SetItemApproveStatus()
 {
     Common com = new Common();
     foreach (RepeaterItem item in RepeaterPOData.Items)
     {
         HiddenField HiddenFieldIsApproved = item.FindControl("HiddenFieldIsApproved") as HiddenField;
         DropDownList DropDownListApprove = item.FindControl("DropDownListApprove") as DropDownList;
         if (HiddenFieldIsApproved.Value == "0")
         {
             DropDownListApprove.SelectedValue = "0";
         }
     }
 }
Ejemplo n.º 9
0
        /// <summary>
        /// 得到更新到 SAP的参数 ,并将审批不通过数据修改到list
        /// </summary>
        /// <returns></returns>
        DataTable GetUpdatePars()
        {
            DataTable dtUpdate = new DataTable();
            dtUpdate.Columns.Add("PONO");
            dtUpdate.Columns.Add("NewType");
            dtUpdate.Columns.Add("NewPAD");
            foreach (RepeaterItem item in RepeaterPOData.Items)
            {
                DropDownList DropDownListApprove = item.FindControl("DropDownListApprove") as DropDownList;
                HiddenField HiddenFieldISSuccess = item.FindControl("HiddenFieldISSuccess") as HiddenField;
                HiddenField HiddenFieldIsPADSuccess = item.FindControl("HiddenFieldIsPADSuccess") as HiddenField;
                if (HiddenFieldISSuccess.Value == "0" || HiddenFieldIsPADSuccess.Value == "0")//没有更新成功
                {

                    bool IsApproved = DropDownListApprove.SelectedValue == "1" ? true : false;
                    HiddenField HiddenFieldID = item.FindControl("HiddenFieldID") as HiddenField;///当前Item的 ID
                    HiddenField HiddenFieldNewTypeValue = item.FindControl("HiddenFieldNewTypeValue") as HiddenField;///当前Type的Value
                    if (IsApproved)//审批通过,加入到要修改的集合中。
                    {
                        Label LabelPONO = item.FindControl("LabelPONO") as Label;
                        Label LabelNewPAD = item.FindControl("LabelNewPAD") as Label;

                        DataRow dr = dtUpdate.NewRow();
                        dr["PONO"] = LabelPONO.Text;
                        if (HiddenFieldISSuccess.Value == "0")
                        {
                            dr["NewType"] = HiddenFieldNewTypeValue.Value.Trim();
                        }
                        if (HiddenFieldIsPADSuccess.Value == "0")
                        {
                            Label LabePAD = item.FindControl("LabePAD") as Label;
                            DateTime dtPAD = DateTime.Now;
                            DateTime dtNewPAD = DateTime.Now;
                            if (DateTime.TryParse(LabePAD.Text, out dtPAD) && DateTime.TryParse(LabelNewPAD.Text, out dtNewPAD))
                            {
                                if (dtPAD != dtNewPAD)
                                {
                                    dr["NewPAD"] = LabelNewPAD.Text.Trim();
                                }
                            }
                        }
                        dtUpdate.Rows.Add(dr);
                    }
                    else//审批不通过
                    {
                        Common comm = new Common();
                        comm.UpdateItemSapStatus(HiddenFieldID.Value, IsApproved, false);//将审批不通过修改到Item的状态 中
                        HiddenFieldISSuccess.Value = "1";//页面上标注为己经更新。
                    }
                }
            }
            return dtUpdate;
        }