2026821
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
using System;
|
||||
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_MODEL.Page;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Services;
|
||||
using System.Web.Script.Services;
|
||||
using System.Data.SqlClient;
|
||||
using System.Web.Script.Serialization;
|
||||
using GThinking.N_MISPRO.Utility;
|
||||
using GThinking.N_MISPRO.Data;
|
||||
|
||||
namespace GThinking.N_XLXSBJ
|
||||
{
|
||||
public partial class XLXSBJ_AFZNRDR : HelpBase
|
||||
{
|
||||
#region Page 类事件
|
||||
|
||||
// 声明与前端对应的控件
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.UMID = 100860000;
|
||||
this.UMName = "按复制内容导入";
|
||||
if (!IsPostBack)
|
||||
base.InitPage();
|
||||
|
||||
//Ajax脚本注册
|
||||
/*string misproasAssemblyName = MacInfoUtils.ClassId2AssemblyName("N_MISPROAS");
|
||||
ScriptManager1.Scripts.Add(new ScriptReference("GThinking.N_MISPROAS.Web.AjaxServices.AjaxServiceProxy.js", misproasAssemblyName));
|
||||
*/
|
||||
if (!IsPostBack)
|
||||
{
|
||||
InitControls();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 自定义事件
|
||||
|
||||
private void InitControls()
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
protected void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 获取客户端传递的JSON数据
|
||||
string jsonData = hdnTableData.Value;
|
||||
|
||||
if (string.IsNullOrEmpty(jsonData))
|
||||
{
|
||||
ShowAlert("没有接收到数据,请先粘贴数据!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 解析JSON数据
|
||||
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
||||
List<QuoteItem> items = serializer.Deserialize<List<QuoteItem>>(jsonData);
|
||||
|
||||
// 写入数据库
|
||||
if (InsertQuoteItems(items))
|
||||
{
|
||||
ShowAlert("成功写入 " + items.Count + " 条报价单数据!");
|
||||
CloseWindow();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowAlert("写入报价单时发生错误!");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ShowAlert("处理数据时发生错误:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private bool InsertQuoteItems(List<QuoteItem> items)
|
||||
{
|
||||
string sXLXHID = "";
|
||||
string sXLGGID = "";
|
||||
string sDYDJ = "";
|
||||
string sST = "";
|
||||
string sBJCP = "";
|
||||
string sYXJG = "0";
|
||||
string sYZ = "";
|
||||
string sYSCP = "";
|
||||
string sBH = "";
|
||||
string sCPBJXJ = "0";
|
||||
string sBJJEXJ = "0";
|
||||
string sWGCPBZ = "";
|
||||
string sDQDYDJID = "";
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
||||
string sBJU003 = PageParam.GetRTrimString("BJU003");
|
||||
string sBJU002 = PageParam.GetRTrimString("BJU002");
|
||||
string sBJU018 = PageParam.GetRTrimString("BJU018");
|
||||
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + sBJDID + "'") + 1;
|
||||
int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + sBJDID + "'") + 1;
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL sSQL = new TSQL(dberp);
|
||||
|
||||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||||
string sErrorNum = "";
|
||||
int iStartXH = 0;
|
||||
if (iStartXH == 0)
|
||||
{
|
||||
iStartXH = iXH;
|
||||
}
|
||||
try
|
||||
{
|
||||
//研发自测:周国强2025/4/25 18:19:20
|
||||
dberp.BeginTrans();
|
||||
sSQL.Clear();
|
||||
sSQL.Add(" insert into XLXSBJDMX( ");
|
||||
sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, ");
|
||||
sSQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_XDXLBZID,XLXSBJDMX_XDXLXHID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLYSID, XLXSBJDMX_BJCP,XLXSBJDMX_BJCPSD,XLXSBJDMX_WGCPBZ, ");
|
||||
sSQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL, XLXSBJDMX_JGBBJ, XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_BJSDBZ,XLXSBJDMX_TZQBJJE, XLXSBJDMX_BJJE, XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLZL, ");
|
||||
sSQL.Add(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL,XLXSBJDMX_YXJG,XLXSBJDMX_YZ,XLXSBJDMX_YSCP,XLXSBJDMX_FBH,XLXSBJDMX_CPBJXJ,XLXSBJDMX_BJJEXJ,XLXSBJDMX_BZ, XLXSBJDMX_DZSC,XLXSBJDMX_WHRID, XLXSBJDMX_WHR, XLXSBJDMX_WHSJ)");
|
||||
sSQL.Add(" values(");
|
||||
sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID, ");
|
||||
sSQL.Add(" :XLXSBJDMX_XLBZID,:XLXSBJDMX_XDXLBZID,:XLXSBJDMX_XDXLXHID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP,:XLXSBJDMX_BJCPSD,:XLXSBJDMX_WGCPBZ, ");
|
||||
sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL, :XLXSBJDMX_JGBBJ, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJSDBZ,:XLXSBJDMX_TZQBJJE, :XLXSBJDMX_BJJE, :XLXSBJDMX_JGBJJ,:XLXSBJDMX_CLCB,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_JGBBJJCE,:XLXSBJDMX_CLZL, ");
|
||||
sSQL.Add(" :XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL,:XLXSBJDMX_YXJG,:XLXSBJDMX_YZ,:XLXSBJDMX_YSCP,:XLXSBJDMX_FBH,isnull(:XLXSBJDMX_CPBJXJ,0),isnull(:XLXSBJDMX_BJJEXJ,0),:XLXSBJDMX_BZ, :XLXSBJDMX_DZSC,:XLXSBJDMX_WHRID, :XLXSBJDMX_WHR, :XLXSBJDMX_WHSJ)");
|
||||
sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
||||
#region 换行时,插入前一行数据
|
||||
foreach (QuoteItem item in items)
|
||||
{
|
||||
string tmpXLXHID = item.XLXHID;
|
||||
string tmpXLGGID = item.XLGGID;
|
||||
string tmpXLBZID = "G";
|
||||
string tmpDYDJID = item.DYDJID;
|
||||
bool bExistCLQD = XLBJDUtils.ExistCLQD(ref tmpXLXHID, ref tmpXLGGID, ref tmpXLBZID, ref tmpDYDJID);
|
||||
if (bExistCLQD)
|
||||
{
|
||||
sXLXHID = tmpXLXHID;
|
||||
sXLGGID = tmpXLGGID;
|
||||
sST = tmpXLBZID;
|
||||
sDYDJ = tmpDYDJID;
|
||||
//重新赋值
|
||||
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST;
|
||||
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sST;
|
||||
if (sBJCP.Equals(""))
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sXLXHID + "-" + sDYDJ + " " + sXLGGID;
|
||||
}
|
||||
sDQDYDJID = sDYDJ;
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = tmpXLXHID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = tmpXLXHID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = tmpXLGGID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = tmpXLBZID;
|
||||
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = tmpXLBZID;
|
||||
if (sBJCP.Equals(""))
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = tmpXLXHID + "-" + tmpDYDJID + " " + tmpXLGGID;
|
||||
}
|
||||
sDQDYDJID = tmpDYDJID;
|
||||
}
|
||||
if (tmpDYDJID.Trim().Equals(""))
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = GetMrDYDJ(tmpXLXHID, tmpXLGGID, tmpXLBZID);
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = tmpDYDJID;
|
||||
}
|
||||
if (!sBJCP.Equals(""))
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "Y";
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_BJCPSD").Value = "N";
|
||||
}
|
||||
|
||||
sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH;
|
||||
sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX;
|
||||
sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
|
||||
|
||||
sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_YXJG").Value = CMISproConvert.StrToFloat(sYXJG, 0);
|
||||
sSQL.ParamByName("XLXSBJDMX_YZ").Value = sYZ;
|
||||
sSQL.ParamByName("XLXSBJDMX_YSCP").Value = sYSCP;
|
||||
sSQL.ParamByName("XLXSBJDMX_FBH").Value = sBH;
|
||||
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_CPBJXJ").Value = CMISproConvert.StrToFloat(sCPBJXJ, 0);
|
||||
sSQL.ParamByName("XLXSBJDMX_BJJEXJ").Value = CMISproConvert.StrToFloat(sBJJEXJ, 0);
|
||||
sSQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "N";
|
||||
sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0;
|
||||
sSQL.ParamByName("XLXSBJDMX_BZ").Value = "";
|
||||
sSQL.ParamByName("XLXSBJDMX_BJJE").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_BJSL").Value = string.IsNullOrEmpty(item.BJSL) ? 0 : CMISproConvert.StrToFloat(item.BJSL, 0);
|
||||
sSQL.ParamByName("XLXSBJDMX_TZQBJJE").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sBJU003;
|
||||
sSQL.ParamByName("XLXSBJDMX_JGBBJJCE").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0;
|
||||
sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0;
|
||||
|
||||
sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = sWGCPBZ;
|
||||
if (XLBJDUtils.ISDZBZ(sST))
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
|
||||
}
|
||||
sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
|
||||
sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
|
||||
sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
|
||||
dberp.ExecSQL(sSQL);
|
||||
iXH++;
|
||||
iXSSX++;
|
||||
}
|
||||
#endregion
|
||||
XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, sBJDID, "", iStartXH - 1, ref sErrorNum);
|
||||
|
||||
XLBJDCalcUtils.CalcBJDMXAfterIns(dberp, sSQL, sBJDID, iStartXH, sBJU002, sBJU003, sBJU018, tSession.UserId, tSession.UserName, ref sErrorNum);
|
||||
dberp.CommitTrans();
|
||||
return true;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
dberp.RollbackTrans();
|
||||
ShowMessage(ex.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowAlert(string message)
|
||||
{
|
||||
ClientScript.RegisterStartupScript(this.GetType(), "alert",
|
||||
"alert('" + message.Replace("'", "\\'") + "');", true);
|
||||
}
|
||||
|
||||
// 用于反序列化的辅助类
|
||||
public class QuoteItem
|
||||
{
|
||||
private string _XLXHID;
|
||||
private string _DYDJID;
|
||||
private string _XLGGID;
|
||||
private string _BJSL;
|
||||
|
||||
public string XLXHID
|
||||
{
|
||||
get { return _XLXHID; }
|
||||
set { _XLXHID = value; }
|
||||
}
|
||||
|
||||
public string DYDJID
|
||||
{
|
||||
get { return _DYDJID; }
|
||||
set { _DYDJID = value; }
|
||||
}
|
||||
|
||||
public string XLGGID
|
||||
{
|
||||
get { return _XLGGID; }
|
||||
set { _XLGGID = value; }
|
||||
}
|
||||
|
||||
public string BJSL
|
||||
{
|
||||
get { return _BJSL; }
|
||||
set { _BJSL = value; }
|
||||
}
|
||||
}
|
||||
public string GetMrDYDJ(string sXLXHID, string sXLGGID, string sXLBZID)
|
||||
{
|
||||
//SQL语句自测:周国强 2025/3/30 20:17:00
|
||||
string sMrDYDJID = "";
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL sql = new TSQL(dberp);
|
||||
sql.Add("SELECT XLXSCLQD_DYDJID FROM XLXSCLQD WHERE XLXSCLQD_XLXHID=:pXLXHID AND XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID ");
|
||||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||||
sql.ParamByName("pXLGGID").Value = sXLGGID;
|
||||
sql.ParamByName("pXLBZID").Value = sXLBZID;
|
||||
DataSet ds = dberp.OpenDataSet(sql);
|
||||
if (ds.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
sMrDYDJID = ds.Tables[0].Rows[0][0].ToString().Trim();
|
||||
}
|
||||
return sMrDYDJID;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user