Files
N_XLXSBJ----MX/XLXSBJCL_HQFDKRInfo.aspx.cs
2026-08-21 17:03:02 +08:00

593 lines
28 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<string> lst = new List<string>();
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<string[]> lstArr = new List<string[]>();
List<string> lstBJCL = new List<string>();
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<string> result = new List<string>();
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<string[]> list, int count, List<string> 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<string> 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<string> lstBJCL, List<string> 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
}
}