SMbtn5604

using Salien.Utility;
using Salien.Utility.SUWF;
using System;
using System.Data;
using System.Web.UI.WebControls;

namespace SM5604btnTJ
{
    public class SM5604btnTJ : ISuwfBus 
    {
        private SlnSuwfPage _page;
        public enum Action
        {
            SQ = 0,
            DSH = 1,
            DSP = 10,
            DCG = 20,
            DRK = 30,
            DJZ = 40
           , YJZ = 50
           , GB = 60
           , ZZ = 99
            /*0,申请;1,待审核;10,待审批;20,待采购;30,待入库;40,待结账;50,已结账;60,关闭;99,终止*/
        }

        void ISuwfBus.Initial(SlnSuwfPage page)
        {
            this._page = page;
           BindButtonEvent(_page, "btnTJ", this.BtnTJ_Click);
        }
        #region BindButtonEvent
        public void BindButtonEvent(SlnSuwfPage _page, string strBtnName, EventHandler ev)
        {
            System.Web.UI.Control control = _page.FindControl(strBtnName);
            if (control != null)
            {
                Button button = (Button)control;
                if (button != null)
                {
                    button.Click += ev;
                    button.Attributes.Add("onclick", "javascript:if(!confirm('是否确认提交?')){return false;}");
                }
                else
                {
                    _page.ShowMessage("" + strBtnName + "】按钮不存在");
                }
            }
            else
            {
                _page.ShowMessage("" + strBtnName + "】控件不存在");
            }
        }
#endregion

        #region 采购员提交 BtnTJ_Click        
        private void BtnTJ_Click(object sender, EventArgs e)
        {
            string sSelectRow = _page.GetRowDataPrimaryKeys();
            if (sSelectRow.Length == 0)
            {
                _page.ShowMessage("请选择网格数据");
                return;
            }

            
            string CGZBIDList_TJ = string.Empty;
            string CGZBIDList_NOTJ = string.Empty;
            
            
            GridView grd = _page.MainGrid;
          
            foreach (GridViewRow gridRow in grd.Rows)
            {            
                if (_page.GridRowIsSelected(gridRow.RowIndex))
                {                   
                    string ID = _page.GetRowDataByKey(gridRow.RowIndex, "ID");
                    string DJBH = _page.GetRowDataByKey(gridRow.RowIndex, "DJBH");

                    if (_page.GetRowDataByKey(gridRow.RowIndex, "ZT") == "2" &&
                        _page.GetRowDataByKey(gridRow.RowIndex, "RKLB") == "9")
                    {
                        CGZBIDList_TJ = CGZBIDList_TJ + "," + ID;
                        continue;
                    }
                    if (_page.GetRowDataByKey(gridRow.RowIndex, "ZT")=="2" 
                        && _page.GetRowDataByKey(gridRow.RowIndex, "WRKS") == "0")
                    {
                        CGZBIDList_TJ = CGZBIDList_TJ + "," + ID;
                        continue;
                    }
                   
                    CGZBIDList_NOTJ = CGZBIDList_NOTJ + "," + ID;
                   
                }
            }
            if (!SlnString.IsNull(CGZBIDList_TJ))
            {
                SlnDataAccess.ExecuteSQL($"update SM_CG_CGZB_TB set DJZT={(int)Action.DJZ} " +
                               $"where DJZT=30 and id in ({CGZBIDList_TJ.TrimStart(',')})");
            }
            CGZBIDList_NOTJ = CGZBIDList_NOTJ.TrimStart(',');
            if (SlnString.IsNull(CGZBIDList_NOTJ) == false)
            {
                string sql = @"select t.ID,t.ZT,(case when exists (select 1 from sm_cg_cgzb_tb 
  where rklb = 0 and zt in (0,1) and djbh = t.djbh and id <> t.id) then 1 else 0 end ) as SFTJ " +
        $" from SM_CG_CGZB_TB t where  t.id in ({CGZBIDList_NOTJ.TrimStart(',')})";
                DataTable dt = SlnDataAccess.GetDataTable(sql);
                if (dt != null && dt.Rows.Count > 0)
                {
                    if (dt.Select("ZT<>2").Length > 0)
                    {
                        ShowMsg("存在没有入库的情况无法全部提交");
                        _page.btnQuery_Click(null, null);
                        return;
                    }
                    if (dt.Select("SFTJ=0").Length > 0)
                    {
                        ShowMsg("存在没有入满且没有未入库的分拆单也不能提交");
                        _page.btnQuery_Click(null, null);
                        return;
                    }
                }
                
            }
           string msg = "";
                try {
                 msg = SlnDataAccess.ExecuteSQL($"update SM_CG_CGZB_TB set CZRID={_page.GetValueByName("sys_userid")}" +
                     $",CZRQ=sysdate,DJZT={(int)Action.DJZ} where DJZT=30 and id in ({CGZBIDList_NOTJ.TrimStart(',')})");
                if (msg == "")
                {
                    msg += "提交成功,单子由待入库变成了待结账状态";
                }
                else
                {
                    msg += "提交失败";
                }
               }
                 catch (Exception ex)
                {
                    _page.ShowMessage(ex.Message);
                }
                finally
                {
                    ShowMsg(msg);
                }
                _page.btnQuery_Click(null, null);
                return;
        }
        #endregion
        #region 显示消息提示对话框        
        public void ShowMsg(string msg)
        {
            System.Text.StringBuilder Builder = new System.Text.StringBuilder();
            Builder.Append("<script language='javascript' defer>");
            Builder.AppendFormat("Alert('{0}');", msg);
            Builder.Append("</script>");
            _page.Page.ClientScript.RegisterStartupScript(typeof(System.Web.UI.Page), "message", Builder.ToString());
        }
        #endregion
    }
}

 

posted @ 2024-12-28 09:38  知行一体2  阅读(2)  评论(0编辑  收藏  举报