This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+227
View File
@@ -0,0 +1,227 @@
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_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 System.Collections.Generic;
using GThinking.N_MISPROAS;
namespace GThinking.N_XLXSBJ
{
public partial class DRJGBYZZA : SingleCardBase
{
TZYZJJA entity = new TZYZJJA();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860164;
this.UMName = "按产品目录主芯截面调表价";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
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;
fupdPost.FileSaveType = gtAsyncFileUpload.DFileSaveType.SaveToPath;
fupdPost.Filter = "XLS,XLSX";
base.InitPage();
if (!IsPostBack)
{
txtJGBID.Value = PageParam.GetRTrimString("JGBID");
chkIns.Checked = true;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS ");
SQL.Add(" from XLXSTZYZ");
SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS='A' ");
SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID");
SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH");
SQL.ParamByName("pJGBID").Value = txtJGBID.Value;
DataSet ds = dberp.OpenDataSet(SQL);
cbxYZID.ClearItems();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJJFSMC = "";
if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
sJJFSMC = "(元)";
}
else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD"))
{
sJJFSMC = "(%)";
}
cbxYZID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC, ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim()));
}
//if (cbxYZID.Items.Count > 0)
// cbxYZID.SelectedIndex = 0;
}
}
#region 控件事件
protected void btnQD_Click(object sender, EventArgs e)
{
if (fupdPost.FilePath.Equals(""))
{
ShowMessage("请选择需要导入的文件!");
return;
}
if (cbxYZID.SelectedValue.Trim().Equals(""))
{
ShowMessage("请选择待设置的调价因子!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
try
{
lblTitle.Text = "正在导入数据,请稍后...";
dberp.BeginTrans();
DataSet aDataExcel = new DataSet();
if (AppRuntime.BitType == AppBitType.Bit32)
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, 0, "");
else // AppBitType.Bit64
ReadWJ(fupdPost.FilePath, ref aDataExcel);//只能读出前33356行记录
ExcelColumnValid(aDataExcel);
InsertYZZA(dberp, sSQL, aDataExcel);
dberp.CommitTrans();
ShowMessage("设置完成!");
//执行完毕后关闭当前页面
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1CID"));
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
lblTitle.Text = "";
dberp.RollbackTrans();
ShowMessage(ex.Message);
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
#region 自定义事件
private void InsertYZZA(TDatabase dberp, TSQL sSQL, DataSet ds)
{
string sXLJGU007 = GetOption(102579000, "XLJGU007");
foreach (DataRow Row in ds.Tables[0].Rows)
{
string sCPML = sGetCellTest(Row, 0).Trim();
string sXLGGID = sGetCellTest(Row, 1).Trim();
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBYZZA where XLXSJGBYZZA_JGBID='{0}' and XLXSJGBYZZA_CPMLID='{1}' and XLXSJGBYZZA_XLGGID='{2}' and XLXSJGBYZZA_YZID='{3}'",
txtJGBID.Value.Trim(), sCPML, sXLGGID, cbxYZID.SelectedValue.Trim())))
{
if (chkIns.Checked)//不存在的记录自动插入
{
sSQL.Clear();
sSQL.Add("insert into XLXSJGBYZZA(XLXSJGBYZZA_JGBID,XLXSJGBYZZA_CPMLID,XLXSJGBYZZA_XLGGID,XLXSJGBYZZA_YZID,XLXSJGBYZZA_YZZ,XLXSJGBYZZA_WHR,XLXSJGBYZZA_WHRID,XLXSJGBYZZA_WHSJ)");
sSQL.Add(" values(:XLXSJGBYZZA_JGBID,:XLXSJGBYZZA_CPMLID,:XLXSJGBYZZA_XLGGID,:XLXSJGBYZZA_YZID,:XLXSJGBYZZA_YZZ,:XLXSJGBYZZA_WHR,:XLXSJGBYZZA_WHRID,:XLXSJGBYZZA_WHSJ)");
sSQL.ParamByName("XLXSJGBYZZA_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZA_CPMLID").Value = sCPML;
sSQL.ParamByName("XLXSJGBYZZA_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSJGBYZZA_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("XLXSJGBYZZA_YZZ").Value = CMISproConvert.StrToFloat(sGetCellTest(Row, 2), 0);
sSQL.ParamByName("XLXSJGBYZZA_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSJGBYZZA_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSJGBYZZA_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
}
else
{
sSQL.Clear();
sSQL.Add("update XLXSJGBYZZA set XLXSJGBYZZA_YZZ=:XLXSJGBYZZA_YZZ,XLXSJGBYZZA_WHR=:XLXSJGBYZZA_WHR,XLXSJGBYZZA_WHRID=:XLXSJGBYZZA_WHRID,XLXSJGBYZZA_WHSJ=:XLXSJGBYZZA_WHSJ");
sSQL.Add(" where XLXSJGBYZZA_JGBID=:XLXSJGBYZZA_JGBID");
sSQL.Add(" and XLXSJGBYZZA_CPMLID=:XLXSJGBYZZA_CPMLID");
sSQL.Add(" and XLXSJGBYZZA_XLGGID=:XLXSJGBYZZA_XLGGID");
sSQL.Add(" and XLXSJGBYZZA_YZID=:XLXSJGBYZZA_YZID");
sSQL.ParamByName("XLXSJGBYZZA_JGBID").Value = txtJGBID.Value.Trim();
sSQL.ParamByName("XLXSJGBYZZA_CPMLID").Value = sCPML;
sSQL.ParamByName("XLXSJGBYZZA_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSJGBYZZA_YZID").Value = cbxYZID.SelectedValue.Trim();
sSQL.ParamByName("XLXSJGBYZZA_YZZ").Value = CMISproConvert.StrToFloat(sGetCellTest(Row, 2), 0);
sSQL.ParamByName("XLXSJGBYZZA_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSJGBYZZA_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSJGBYZZA_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
}
}
private void ExcelColumnValid(DataSet ds)
{
Dictionary<string, string> ColumnNames = new Dictionary<string, string>();
ColumnNames.Add("0", "产品目录ID");
ColumnNames.Add("1", "主芯截面");
ColumnNames.Add("2", cbxYZID.SelectedItem.Text.Trim());
for (int i = 0; i < 3; i++)
{
if (!ds.Tables[0].Columns[i].ColumnName.Trim().Equals(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("导入文件的内容格式不正确,Excel栏目依次为:产品目录ID、主芯截面、" + cbxYZID.SelectedItem.Text.Trim() + "!");
}
}
}
private void ReadWJ(string sPath, ref DataSet aDataExcel)
{
string sMessage = "";
aDataExcel = TExcelData.ReadExcel(sPath.Trim(), "", "", false, ref sMessage);
if (!sMessage.Trim().Equals(""))
{
throw new Exception("文件读取失败!具体原因:" + sMessage);
}
}
private string sGetCellTest(DataRow Row, int ColumnIndex)
{
return Row[ColumnIndex].ToString().Trim().Replace("\r\n", "").Replace("\n", "");
}
#endregion
}
}