using System; using System.Collections.Generic; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_WORKFLOW; using GThinking.N_MODEL.Dialog; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using System.IO; using System.Data.OleDb; using System.Data.Common; using GThinking.N_MISPROAS; namespace GThinking.N_XLXSBJ { [TableMap(DB = "DBERP", DbTableName = "XLXSCLHQFD", Umid = 100860012, IsWorkFlow = false)] public class XLXSBJCL_HQFDKR : EntityManager { } public partial class XLXSBJCL_HQFDKRInfo : SingleCardBase { XLXSBJCL_HQFDKR entity = new XLXSBJCL_HQFDKR(); #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860012; this.UMName = "线缆销售报价材料"; base.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; Master.EnableAttachBtn = false; Master.EnableCancelBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableEditBtn = false; Master.EnableInsertBtn = false; Master.EnablePrintBtn = false; Master.EnableRefreshBtn = false; Master.EnableSaveBtn = false; base.InitPage(); } #endregion #region 模板事件继承 #endregion #region 控件事件 protected void btnQD_Click(object sender, EventArgs e) { double iMMD = txtMMD.Value; double iNND = txtNND.Value; if (iMMD < 0) { ShowMessage("向前增扩分段数不允许为负数!"); return; } if (iNND < 0) { ShowMessage("向后增扩分段数不允许为负数!"); return; } double FDCount = iMMD + iNND; string sBJCLID = PageParam.GetRTrimString("BJCLID"); //错误代码 int error = 0; //环始 string PreData = ""; //环止 string NexData = ""; //环始value double PreDataValue_HSJGS = 0.0; double PreDataValue_HSJGZ = 0.0; double PreDataValue_CLJGS = 0.0; double PreDataValue_CLJGZ = 0.0; //环止value double NexDataValue_HSJGS = 0.0; double NexDataValue_HSJGZ = 0.0; double NexDataValue_CLJGS = 0.0; double NexDataValue_CLJGZ = 0.0; //含税价格步长 double fPreHSJG = 0.0; //无税价格步长 double fPreCLJG = 0.0; double fHSJGCount = 0.0; double fCLJGCount = 0.0; //先判断最大分段数 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add(" select count(XLXSCLHQFD_BJCLID) from XLXSCLHQFD where XLXSCLHQFD_BJCLID=:XLXSCLHQFD_BJCLID "); sSQL.ParamByName("XLXSCLHQFD_BJCLID").Value = sBJCLID; DataSet dsFDCount = dberp.OpenDataSet(sSQL); if (dsFDCount.Tables[0].Rows.Count > 0) { if ((FDCount + CMISproConvert.StrToFloat(dsFDCount.Tables[0].Rows[0][0].ToString().Trim())) > 250) { ShowMessage("分段数不允许超过250!"); return; } } else { if (FDCount > 250) { ShowMessage("分段数不允许超过250!"); return; } } //从拆分的步长判断-暂不处理。 error = 1; //查询环状始,环状止。 sSQL.Clear(); sSQL.Add(" select XLXSCLHQFD_HSJGZ,XLXSCLHQFD_HSJGS,XLXSCLHQFD_CLJGZ,XLXSCLHQFD_CLJGS,"); sSQL.Add(" XLXSCLHQFD_HSJGZ-XLXSCLHQFD_HSJGS as HSJGPX,XLXSCLHQFD_CLJGZ-XLXSCLHQFD_CLJGS as CLJGPX,"); sSQL.Add(" XLXSCLHQFD_CLHQDH from XLXSCLHQFD where XLXSCLHQFD_BJCLID=:XLXSCLHQFD_BJCLID order by XLXSCLHQFD_HSJGS "); sSQL.ParamByName("XLXSCLHQFD_BJCLID").Value = sBJCLID; DataSet dsFDCir = dberp.OpenDataSet(sSQL); //包含01 if (dsFDCir.Tables[0].Rows.Count > 0) { PreDataValue_HSJGS = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[0]["XLXSCLHQFD_HSJGS"].ToString().Trim()); PreDataValue_HSJGZ = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[0]["XLXSCLHQFD_HSJGZ"].ToString().Trim()); PreDataValue_CLJGS = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[0]["XLXSCLHQFD_CLJGS"].ToString().Trim()); PreDataValue_CLJGZ = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[0]["XLXSCLHQFD_CLJGZ"].ToString().Trim()); NexDataValue_HSJGS = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[dsFDCir.Tables[0].Rows.Count - 1]["XLXSCLHQFD_HSJGS"].ToString().Trim()); NexDataValue_HSJGZ = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[dsFDCir.Tables[0].Rows.Count - 1]["XLXSCLHQFD_HSJGZ"].ToString().Trim()); NexDataValue_CLJGS = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[dsFDCir.Tables[0].Rows.Count - 1]["XLXSCLHQFD_CLJGS"].ToString().Trim()); NexDataValue_CLJGZ = CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[dsFDCir.Tables[0].Rows.Count - 1]["XLXSCLHQFD_CLJGZ"].ToString().Trim()); PreData = dsFDCir.Tables[0].Rows[0]["XLXSCLHQFD_CLHQDH"].ToString().Trim(); NexData = dsFDCir.Tables[0].Rows[dsFDCir.Tables[0].Rows.Count - 1]["XLXSCLHQFD_CLHQDH"].ToString().Trim(); //计算平均步长 for (int i = 0; i < dsFDCir.Tables[0].Rows.Count; i++) { fHSJGCount += CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[i]["HSJGPX"].ToString().Trim()); fCLJGCount += CMISproConvert.StrToFloat(dsFDCir.Tables[0].Rows[i]["CLJGPX"].ToString().Trim()); } fPreHSJG = NumberUtils.RoundX(fHSJGCount / dsFDCir.Tables[0].Rows.Count, XLBJDUtils.BJCLPriceDecimal); fPreCLJG = NumberUtils.RoundX(fCLJGCount / dsFDCir.Tables[0].Rows.Count, XLBJDUtils.BJCLPriceDecimal); } else { } PreData = PreData.PadLeft(2, '0'); NexData = NexData.PadLeft(2, '0'); error =2; //环状始开始分段。 //MM分段 string sCLHQDH = ""; List lst = new List(); lst.Clear(); try { dberp.BeginTrans(); if (iMMD > 0) { for (int i = 0; i < iMMD; i++) { #region 增补段数信息 //PreData < NexData if (int36Convert10(PreData) <= int36Convert10(NexData)) { if (PreData.Equals("00")) { sCLHQDH = "ZZ"; } else { sCLHQDH = int10Convert36(int36Convert10(PreData) - 1).ToString().PadLeft(2, '0'); } } //PreData > NexData else { sCLHQDH = int10Convert36(int36Convert10(PreData) - 1).ToString().PadLeft(2, '0'); } PreData = sCLHQDH; sSQL.Clear(); sSQL.Add(" insert into XLXSCLHQFD( "); sSQL.Add(" XLXSCLHQFD_BJCLID,XLXSCLHQFD_CLHQDH, "); sSQL.Add(" XLXSCLHQFD_HSJGS,XLXSCLHQFD_HSJGZ,XLXSCLHQFD_CLJGS,XLXSCLHQFD_CLJGZ, "); sSQL.Add(" XLXSCLHQFD_WHRID,XLXSCLHQFD_WHR,XLXSCLHQFD_WHSJ "); sSQL.Add(" ) "); sSQL.Add(" values( "); sSQL.Add(" :XLXSCLHQFD_BJCLID,:XLXSCLHQFD_CLHQDH, "); sSQL.Add(" :XLXSCLHQFD_HSJGS,:XLXSCLHQFD_HSJGZ,:XLXSCLHQFD_CLJGS,:XLXSCLHQFD_CLJGZ, "); sSQL.Add(" :XLXSCLHQFD_WHRID,:XLXSCLHQFD_WHR,:XLXSCLHQFD_WHSJ "); sSQL.Add(" ) "); sSQL.ParamByName("XLXSCLHQFD_BJCLID").Value = sBJCLID; sSQL.ParamByName("XLXSCLHQFD_CLHQDH").Value = sCLHQDH; //防止减法导致多位小数 sSQL.ParamByName("XLXSCLHQFD_HSJGS").Value = NumberUtils.RoundX(PreDataValue_HSJGS - XLBJDUtils.ModifiedNum - fPreHSJG, 5); sSQL.ParamByName("XLXSCLHQFD_HSJGZ").Value = NumberUtils.RoundX(PreDataValue_HSJGS - XLBJDUtils.ModifiedNum, 5); sSQL.ParamByName("XLXSCLHQFD_CLJGS").Value = NumberUtils.RoundX(PreDataValue_CLJGS - XLBJDUtils.ModifiedNum - fPreCLJG, 5); sSQL.ParamByName("XLXSCLHQFD_CLJGZ").Value = NumberUtils.RoundX(PreDataValue_CLJGS - XLBJDUtils.ModifiedNum, 5); sSQL.ParamByName("XLXSCLHQFD_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSCLHQFD_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSCLHQFD_WHSJ").Value = DateTime.Now; PreDataValue_HSJGS = PreDataValue_HSJGS - XLBJDUtils.ModifiedNum - fPreHSJG; PreDataValue_CLJGS = PreDataValue_CLJGS - XLBJDUtils.ModifiedNum - fPreCLJG; dberp.ExecSQL(sSQL); lst.Add(sCLHQDH); #endregion } } error = 3; //环状止开始分段 if (iNND > 0) { for (int i = 0; i < iNND; i++) { #region 增补段数信息 sCLHQDH = int10Convert36(int36Convert10(NexData) + 1).ToString().PadLeft(2, '0'); NexData = sCLHQDH; sSQL.Clear(); sSQL.Add(" insert into XLXSCLHQFD( "); sSQL.Add(" XLXSCLHQFD_BJCLID,XLXSCLHQFD_CLHQDH, "); sSQL.Add(" XLXSCLHQFD_HSJGS,XLXSCLHQFD_HSJGZ,XLXSCLHQFD_CLJGS,XLXSCLHQFD_CLJGZ, "); sSQL.Add(" XLXSCLHQFD_WHRID,XLXSCLHQFD_WHR,XLXSCLHQFD_WHSJ "); sSQL.Add(" ) "); sSQL.Add(" values( "); sSQL.Add(" :XLXSCLHQFD_BJCLID,:XLXSCLHQFD_CLHQDH, "); sSQL.Add(" :XLXSCLHQFD_HSJGS,:XLXSCLHQFD_HSJGZ,:XLXSCLHQFD_CLJGS,:XLXSCLHQFD_CLJGZ, "); sSQL.Add(" :XLXSCLHQFD_WHRID,:XLXSCLHQFD_WHR,:XLXSCLHQFD_WHSJ "); sSQL.Add(" ) "); sSQL.ParamByName("XLXSCLHQFD_BJCLID").Value = sBJCLID; sSQL.ParamByName("XLXSCLHQFD_CLHQDH").Value = sCLHQDH; sSQL.ParamByName("XLXSCLHQFD_HSJGS").Value = NumberUtils.RoundX(NexDataValue_HSJGZ + XLBJDUtils.ModifiedNum, 5); sSQL.ParamByName("XLXSCLHQFD_HSJGZ").Value = NumberUtils.RoundX(NexDataValue_HSJGZ + XLBJDUtils.ModifiedNum + fPreHSJG, 5); sSQL.ParamByName("XLXSCLHQFD_CLJGS").Value = NumberUtils.RoundX(NexDataValue_CLJGZ + XLBJDUtils.ModifiedNum, 5); sSQL.ParamByName("XLXSCLHQFD_CLJGZ").Value = NumberUtils.RoundX(NexDataValue_CLJGZ + XLBJDUtils.ModifiedNum + fPreCLJG, 5); sSQL.ParamByName("XLXSCLHQFD_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSCLHQFD_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSCLHQFD_WHSJ").Value = DateTime.Now; NexDataValue_HSJGZ = NexDataValue_HSJGZ + XLBJDUtils.ModifiedNum + fPreHSJG; NexDataValue_CLJGZ = NexDataValue_CLJGZ + XLBJDUtils.ModifiedNum + fPreCLJG; dberp.ExecSQL(sSQL); lst.Add(sCLHQDH); #endregion } } lst.Sort(); error = 4; //每新增一个段号pNewDH,需要按如下语句同步生成XLXSJGBPZJGB和XLXSJGBPZCLHQFD数据 //例如铜铝(铜3段,铝7段),铜自增1,铜铝自增7(铝的段数)。 #region 增补对应XLXSJGBPZJGB与XLXSJGBPZCLHQFD数据 //优先增补100860036|价格目录配置模块 单行情分段材料的配置单号数据。 //查询 string sJGBPZDH = ""; string sCLHQZH = ""; //中断标志 int flag = 0; //原记录数 double dZHCount = 0; string sBJCLIDS = ""; string sCPMLID = ""; //存组号用 DataSet dsArr = new DataSet(); sSQL.Clear(); sSQL.Add(" select XLXSJGBPZ_BJCLIDS,XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_CPMLID from XLXSJGBPZ where isnull(XLXSJGBPZ_BJCLIDS,' ') <>' ' "); sSQL.Add(" and ',' || rtrim(XLXSJGBPZ_BJCLIDS)||',' like :pBJCLID "); sSQL.Add(" order by XLXSJGBPZ_JGBPZDH "); sSQL.ParamByName("pBJCLID").Value = "%," + sBJCLID + ",%"; DataSet dsJGBPZ = dberp.OpenDataSet(sSQL); if (dsJGBPZ.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsJGBPZ.Tables[0].Rows.Count; i++) { //此处可能单报价材料或多报价材料 sBJCLIDS = dsJGBPZ.Tables[0].Rows[i]["XLXSJGBPZ_BJCLIDS"].ToString().Trim(); sJGBPZDH = dsJGBPZ.Tables[0].Rows[i]["XLXSJGBPZ_JGBPZDH"].ToString().Trim(); sCPMLID = dsJGBPZ.Tables[0].Rows[i]["XLXSJGBPZ_CPMLID"].ToString().Trim(); flag = 0; //派生价格表按钮会重建分组,此处只处理已经有价格表的。 if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGBPZJGB_CLHQZH from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH = '{0}' and isnull(XLXSJGBPZJGB_JGBID,' ')<>' '", sJGBPZDH))) { error = 5; //单报价材料 string[] sTmp = sBJCLIDS.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTmp.Length <= 1) { error = 6; if (!sBJCLIDS.Trim().Equals("")) { IncXLXSJGBPZCLHQFD_Sig(dberp, sSQL, sJGBPZDH, sBJCLID, lst); } error = 7; } //多报价材料 else { error = 8; //从数据量较小的部分取最大值-也可从XLXSJGBPZCLHQFD取最大值 sSQL.Clear(); sSQL.Add(" select XLXSJGBPZJGB_CLHQZH from XLXSJGBPZJGB "); sSQL.Add(" where 1 = 1 and XLXSJGBPZJGB_JGBPZDH=:pJGBPZDH "); sSQL.Add(" order by XLXSJGBPZJGB_CLHQZH desc "); sSQL.ParamByName("pJGBPZDH").Value = sJGBPZDH; DataSet dsHQFD = dberp.OpenDataSet(sSQL); if (dsHQFD.Tables[0].Rows.Count > 0) { dZHCount = dsHQFD.Tables[0].Rows.Count; sCLHQZH = dsHQFD.Tables[0].Rows[0]["XLXSJGBPZJGB_CLHQZH"].ToString().Trim(); } else { throw new Exception("获取最大材料行情组号异常!"); } error = 9; //将所有的对应的来源添加至二维不等长数组-不考虑报价材料的顺序问题 string[][] Arr = new string[sTmp.Length][]; List lstArr = new List(); List lstBJCL = new List(); lstArr.Clear(); lstBJCL.Clear(); for (int j = 0; j < sTmp.Length; j++) { lstBJCL.Add(sTmp[j]); sSQL.Clear(); sSQL.Add(" select XLXSCLHQFD_CLHQDH,XLXSCLHQFD_BJCLID from XLXSCLHQFD where 1 = 1 "); sSQL.Add(" and XLXSCLHQFD_BJCLID =:pBJCLID "); sSQL.Add(" order by XLXSCLHQFD_HSJGS "); sSQL.ParamByName("pBJCLID").Value = sTmp[j]; DataSet data = dberp.OpenDataSet(sSQL); if (data.Tables[0].Rows.Count > 0) { if (sTmp[j].Trim().Equals(sBJCLID)) { error = 10; Arr[j] = new string[lst.Count]; for (int k = 0; k < lst.Count; k++) { Arr[j][k] = lst[k].ToString().Trim(); } } else { error = 11; Arr[j] = new string[data.Tables[0].Rows.Count]; for (int k = 0; k < data.Tables[0].Rows.Count; k++) { Arr[j][k] = data.Tables[0].Rows[k]["XLXSCLHQFD_CLHQDH"].ToString().Trim(); } } } else { //此处应当限制,以防止有误。 flag = 1; break; } } if (1 == flag) { throw new Exception("对应的基价价格表不存在材料行情组号!"); } error = 12; //二维不等长数组转笛卡尔积 for (int k = 0; k < Arr.Length; k++) { lstArr.Add(Arr[k]); } List result = new List(); Descartes(lstArr, 0, result, string.Empty); error = 13; if (result.Count + dZHCount >= 1679616) { throw new Exception("待生成的材料行情分组个数过多,当下最多只能存储1679615个!操作中止!"); } IncXLXSJGBPZCLHQFD_Dob(dberp, sSQL, sJGBPZDH, sCLHQZH, lstBJCL, result); } } } } #endregion dberp.CommitTrans(); ShowMessage("材料行情扩容成功!"); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("扩容失败,请联系系统管理员,错误信息:" + error.ToString() + "|" + ex); CloseWindow(); } DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1CID")); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion #region 自定义事件 //二维数组转笛卡尔积 private static string Descartes(List list, int count, List result, string data) { string temp = data; //获取当前数组 string[] astr = list[count]; //循环当前数组 foreach (string item in astr) { if (count + 1 < list.Count) { temp += Descartes(list, count + 1, result, data + item + ","); } else { result.Add(data + item); } } return temp; } // 10进制转换成36进制 public static string int10Convert36(int i) { string str = ""; while (i > 35) { int j = i % 36; str += ((j <= 9) ? Convert.ToChar(j + '0') : Convert.ToChar(j - 10 + 'A')); i = i / 36; } str += ((i <= 9) ? Convert.ToChar(i + '0') : Convert.ToChar(i - 10 + 'A')); Char[] c = str.ToCharArray(); Array.Reverse(c); return new string(c); } //36进制转10进制 public static int int36Convert10(string str) { int d = 0; int b; char[] ch = str.ToCharArray(); int j = 0; for (int i = ch.Length - 1; i >= 0; i--) { char c = ch[i]; b = 1; for (int t = 0; t < j; t++) b = b * 36; j++; int cc; if (c >= '0' && c <= '9') cc = Convert.ToInt32(c) - 48; else cc = Convert.ToInt32(c) - 65 + 10; d += cc * b; } return d; } //单报价材料增加 public void IncXLXSJGBPZCLHQFD_Sig(TDatabase dberp, TSQL SQL, string sJGBPZDH, string sBJCLID, List lst) { string sCLHQZH = ""; SQL.Clear(); SQL.Add(" select XLXSJGBPZCLHQFD_JGBPZDH,XLXSJGBPZCLHQFD_CLHQZH,XLXSJGBPZCLHQFD_BJCLID from XLXSJGBPZCLHQFD "); SQL.Add(" where 1 = 1 and XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH and XLXSJGBPZCLHQFD_BJCLID = :pBJCLID "); SQL.Add(" order by XLXSJGBPZCLHQFD_CLHQZH desc "); SQL.ParamByName("pJGBPZDH").Value = sJGBPZDH; SQL.ParamByName("pBJCLID").Value = sBJCLID; DataSet dsHQFD = dberp.OpenDataSet(SQL); if (dsHQFD.Tables[0].Rows.Count > 0) { sCLHQZH = dsHQFD.Tables[0].Rows[0]["XLXSJGBPZCLHQFD_CLHQZH"].ToString().Trim(); if (int36Convert10(sCLHQZH) + lst.Count >= 1679616) { throw new Exception(String.Format("配置单号【{0}】扩容长度已达最大1679615,不允许扩容!", sJGBPZDH)); } foreach (string sCLHQDH in lst) { //组号一直追加 sCLHQZH = int10Convert36(int36Convert10(sCLHQZH) + 1).PadLeft(4,'0'); SQL.Clear(); SQL.Add(" insert into XLXSJGBPZCLHQFD(XLXSJGBPZCLHQFD_JGBPZDH,XLXSJGBPZCLHQFD_CLHQZH,XLXSJGBPZCLHQFD_BJCLID,XLXSJGBPZCLHQFD_CLHQDH) "); SQL.Add(" values(:XLXSJGBPZCLHQFD_JGBPZDH,:XLXSJGBPZCLHQFD_CLHQZH,:XLXSJGBPZCLHQFD_BJCLID,:XLXSJGBPZCLHQFD_CLHQDH) "); SQL.ParamByName("XLXSJGBPZCLHQFD_JGBPZDH").Value = sJGBPZDH; SQL.ParamByName("XLXSJGBPZCLHQFD_CLHQZH").Value = sCLHQZH; SQL.ParamByName("XLXSJGBPZCLHQFD_BJCLID").Value = sBJCLID; SQL.ParamByName("XLXSJGBPZCLHQFD_CLHQDH").Value = sCLHQDH; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSJGBPZJGB(XLXSJGBPZJGB_JGBPZDH,XLXSJGBPZJGB_CLHQZH,XLXSJGBPZJGB_WHRID,XLXSJGBPZJGB_WHR,XLXSJGBPZJGB_WHSJ) "); SQL.Add("values(:XLXSJGBPZJGB_JGBPZDH,:XLXSJGBPZJGB_CLHQZH,:XLXSJGBPZJGB_WHRID,:XLXSJGBPZJGB_WHR,:XLXSJGBPZJGB_WHSJ) "); SQL.ParamByName("XLXSJGBPZJGB_JGBPZDH").Value = sJGBPZDH; SQL.ParamByName("XLXSJGBPZJGB_CLHQZH").Value = sCLHQZH; SQL.ParamByName("XLXSJGBPZJGB_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSJGBPZJGB_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSJGBPZJGB_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } } //多报价材料增加 //JGB128, BJCL080000 , 0P, //0P public void IncXLXSJGBPZCLHQFD_Dob(TDatabase dberp, TSQL SQL, string sJGBPZDH, string sCLHQZH, List lstBJCL, List lstArr) { string[] sTmp; foreach (string sCLHQDHList in lstArr) { sCLHQZH = int10Convert36(int36Convert10(sCLHQZH) + 1).PadLeft(4, '0'); sTmp = sCLHQDHList.Trim().Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); for (int m = 0; m < sTmp.Length; m++) { //lstBJCL 与 sTmp[m] 一一对应 SQL.Clear(); SQL.Add(" insert into XLXSJGBPZCLHQFD(XLXSJGBPZCLHQFD_JGBPZDH,XLXSJGBPZCLHQFD_CLHQZH,XLXSJGBPZCLHQFD_BJCLID,XLXSJGBPZCLHQFD_CLHQDH) "); SQL.Add(" values(:XLXSJGBPZCLHQFD_JGBPZDH,:XLXSJGBPZCLHQFD_CLHQZH,:XLXSJGBPZCLHQFD_BJCLID,:XLXSJGBPZCLHQFD_CLHQDH) "); SQL.ParamByName("XLXSJGBPZCLHQFD_JGBPZDH").Value = sJGBPZDH; SQL.ParamByName("XLXSJGBPZCLHQFD_CLHQZH").Value = sCLHQZH; SQL.ParamByName("XLXSJGBPZCLHQFD_BJCLID").Value = lstBJCL[m]; SQL.ParamByName("XLXSJGBPZCLHQFD_CLHQDH").Value = sTmp[m].ToString().Trim(); dberp.ExecSQL(SQL); } SQL.Clear(); SQL.Add("insert into XLXSJGBPZJGB(XLXSJGBPZJGB_JGBPZDH,XLXSJGBPZJGB_CLHQZH,XLXSJGBPZJGB_WHRID,XLXSJGBPZJGB_WHR,XLXSJGBPZJGB_WHSJ) "); SQL.Add("values(:XLXSJGBPZJGB_JGBPZDH,:XLXSJGBPZJGB_CLHQZH,:XLXSJGBPZJGB_WHRID,:XLXSJGBPZJGB_WHR,:XLXSJGBPZJGB_WHSJ) "); SQL.ParamByName("XLXSJGBPZJGB_JGBPZDH").Value = sJGBPZDH; SQL.ParamByName("XLXSJGBPZJGB_CLHQZH").Value = sCLHQZH; SQL.ParamByName("XLXSJGBPZJGB_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSJGBPZJGB_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSJGBPZJGB_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } #endregion } }