HY20702btnSCCGD

HY20702btnSCCGD 没有单据编号,写了一个存储过程HY20702btnSCCGD_SP

using ClsPub;

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

namespace HY20702btnSCCGD   
{
    public class HY20702btnSCCGD : ISuwfBus ////从采购原材料月计划表直接生成采购单,通过交货日期来分解成明细中的开始日期和截止日期
    {
        private SlnSuwfPage _page;
        void ISuwfBus.Initial(SlnSuwfPage page)
        {
            this._page = page;
            Button btnSCCGD = (Button)page.FindControl("btnSCCGD");
            btnSCCGD.Click += new EventHandler(btnSCCGD_Click);
        }
        #region btnSCCGD_Click
        private void btnSCCGD_Click(object sender, EventArgs e)
        {
            string strPK = _page.GetRowDataPrimaryKeys();
            string strGYSID = string.Empty;
            string strMsg = string.Empty;

            if (SlnString.IsNull(strPK) == true)
            {
                _page.ShowMessage(SlnString.ScriptAlertMessage("请先选择网格数据!"));
                return;
            }
         DataTable   dt = SlnDataAccess.GetDataTable(String.Format(@"select GYSID,ID from CGYCLYDDHJ_GYS_TB where ID in ({0})", strPK));
            strGYSID = ConvertFunction.ObjToStr(dt.Rows[0]["GYSID"]);

            if (SlnString.IsNull(strGYSID) == true)
            {
                _page.ShowMessage(SlnString.ScriptAlertMessage("没有供应商ID"));
                return;
            }
            string strSeqCGDD1 = ConvertFunction.ObjToStr(SlnDataAccess.GetSeqNumberByTable("CGDD1_TB"));
            if (SlnString.IsNull(AddParentInfo(strSeqCGDD1, strGYSID)) == true)
            {
                strMsg = strMsg + "采购订单1生成成功->";

             string   strSql = @"select GYSID,WLID,JHCGSL,KSJHRQ,JZJHRQ,NFYF,BZ from CGYCLYDDHJ_GYS_TB where ID in ({0}) order by ID";
                dt = SlnDataAccess.GetDataTable(String.Format(strSql, strPK));
                if (dt.Rows.Count == 0)
                {
                    _page.ShowMessage("无法找到采购订单2的数据来源");
                    return;
                }
                if (SlnString.IsNull(AddChildInfo(strSeqCGDD1, dt)) == true)
                {
                    strMsg = strMsg + "采购订单2生成成功-> ";
                }
                else
                {
                    strMsg = strMsg + "采购订单2生成失败 -> ";
                }
            }
            else
            {
                strMsg = strMsg + "采购订单1生成失败->";
            }

            if (SlnString.IsNull(UpdateCGYCLYDDHJ(strPK)) == true)
            {
                strMsg = strMsg + "采购原材料月订单合计状态更新成功";
            }
            else
            {
                strMsg = strMsg + "采购原材料月订单合计状态更新失败";
            }
            _page.ShowMessage(strMsg);
            _page.btnQuery_Click(null, null);
            return;
        }
        #endregion
       
        private string AddParentInfo(string pk, string strGYSID)
        {
            return SlnDataAccess.ExecuteProcedure($"HY20702btnSCCGD_SP({pk},{strGYSID},{_page.GetValueByName("sys_userid")})");

           /* SortedList sortListfild = new SortedList(); ;
            sortListfild.Add("ID", pk);
            sortListfild.Add("DJZT", 0);
            sortListfild.Add("DJLX", 1);//计划单
            sortListfild.Add("ZDRID", _page.GetValueByName("sys_userid"));
            sortListfild.Add("DHRQ", PUB.GetSystemDateTime());
            sortListfild.Add("GYSID", strGYSID);
            return SlnDataAccess.ExecuteSQL(PUB.BuildInsertSQL("CGDD1_TB", sortListfild));*/

        }
       
        private string AddChildInfo(string FID, DataTable dt)
        {
            List<string> lstSql = new List<string>();
            #region foreach
  foreach (DataRow row in dt.Rows)
            {
                string strWLID = row["WLID"].ToString();
             string   strSL = row["JHCGSL"].ToString();
                string strBZ = ConvertFunction.ObjToStr(row["BZ"]);
                string strKSJHRQ = ConvertFunction.ObjToStr(row["KSJHRQ"]);
                string strJZJHRQ = ConvertFunction.ObjToStr(row["JZJHRQ"]);
                lstSql.Add(BuildInsertCGDD2SQL(FID, strWLID, strSL, strKSJHRQ, strJZJHRQ, strBZ));
            } 
            #endregion
            return SlnDataAccess.ExecuteSqlTransaction(lstSql); ;

        }
        private string BuildInsertCGDD2SQL(string FID, string WLID, string SL, string KSJHRQ, string JZJHRQ, string BZ)
        {
            SortedList sortListfild = new SortedList();
            string pk = ConvertFunction.ObjToStr(SlnDataAccess.GetSeqNumberByTable("CGDD2_TB"));
            sortListfild.Add("ID", pk);
            sortListfild.Add("FID", FID);
            sortListfild.Add("WLID", WLID);
            sortListfild.Add("SL", SL);
            sortListfild.Add("KSJHRQ", KSJHRQ);
            sortListfild.Add("JZJHRQ", JZJHRQ);
            sortListfild.Add("DHRQ", PUB.GetSystemDateTime());
            sortListfild.Add("BZ", BZ);
            return PUB.BuildInsertSQL("CGDD2_TB", sortListfild);
        }
        private string UpdateCGYCLYDDHJ(string strPK)
        {
            return SlnDataAccess.ExecuteSQL("update CGYCLYDDHJ_GYS_TB set DJZT=1 where djzt=0 and id in (" + strPK + ")");
        }
    }

}

 

posted @ 2025-06-25 14:28  知行一体2  阅读(12)  评论(0)    收藏  举报