using System; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; 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 System.Data.Common; using GThinking.N_MODEL.Dialog; using GThinking.N_PUBLIC; using GThinking.N_PUBLIC2; using GThinking.N_MISPRO.Utility; using System.IO; using System.Text; using GThinking.N_CONTROL; using System.Data.OleDb; using GThinking.N_MISPRO.MISPROAS; namespace GThinking.N_XLXSBJ { [TableMap(DB = "DBERP", DbTableName = "XLBJPJDWZL", Umid = 100860132, IsWorkFlow = false)] public class MXXX : EntityManager { } public partial class BJCPPJDWZL_DR : SingleCardBase { MXXX entity = new MXXX(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860132; 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"; base.InitPage(); } protected void btnQD_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(fupdPost.FilePath.Trim())) { ShowMessage("请选择需要导入的文件!"); return; } try { StringBuilder Error_SQL = new StringBuilder(); try { string sPath = fupdPost.FilePath; string sColumns = "型号,电压等级,规格,标准,盘具单位重量,报价产品计量单位"; string sMessage = ""; string sErrorMsg_XLGGID = string.Empty; DataSet aDataExcel = TExcelData.ReadExcel(sPath.Trim(), "sheet1", sColumns, false, ref sMessage); if (!sMessage.Trim().Equals("")) { throw new Exception("导入文件的内容格式不正确,请按帮助文档中要求的内容格式调整导入文件!"); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); dberp.BeginTrans(); string DRMX = string.Empty; try { aDataExcel.Tables[0].Columns.Add("错误信息", typeof(string)); for (int i = 0; i < aDataExcel.Tables[0].Rows.Count; i++) { string ErrorMessage_Export = ""; string sXLXHID = aDataExcel.Tables[0].Rows[i][0].ToString().Trim(); string sDYDJID = aDataExcel.Tables[0].Rows[i][1].ToString().Trim(); string sXLGGID = aDataExcel.Tables[0].Rows[i][2].ToString().Trim(); string sXLBZID = aDataExcel.Tables[0].Rows[i][3].ToString().Trim(); string sDWZL = aDataExcel.Tables[0].Rows[i][4].ToString().Trim(); string sBJCPJLDW = aDataExcel.Tables[0].Rows[i][5].ToString().Trim(); if (sXLXHID.Equals("")) { string ErrorMessage = "型号为空;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (sDYDJID.Equals("")) { string ErrorMessage = "电压等级为空;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } else if (sDYDJID.ToUpper().Contains("KV") && (!sDYDJID.Contains("kV"))) { string ErrorMessage = "电压等级单位大小写错误,应为kV;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (sXLGGID.Equals("")) { string ErrorMessage = "规格为空;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (sXLBZID.Equals("")) { string ErrorMessage = "标准为空;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXHB_XLXHID from XLXHB where XLXHB_XLXHID='" + sXLXHID + "'")) { string ErrorMessage = "型号不存在,请检查;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLDYDJB_DYDJID from XLDYDJB where XLDYDJB_DYDJID='" + sDYDJID + "'")) { string ErrorMessage = "电压等级不存在,请检查;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLBZ_XLBZID from XLBZ where XLBZ_XLBZID='" + sXLBZID + "'")) { string ErrorMessage = "标准不存在,请检查;"; ErrorMessage_Export = ErrorMessage_Export + ErrorMessage; Error_SQL.AppendLine(ErrorMessage); } string sSql = string.Format(@"select top 1 XLBJPJDWZL_XLXHID from XLBJPJDWZL where XLBJPJDWZL_XLXHID='{0}' and XLBJPJDWZL_DYDJID='{1}' and XLBJPJDWZL_XLGGID='{2}' and XLBJPJDWZL_XLBZID='{3}' ", sXLXHID, sDYDJID, sXLGGID, sXLBZID); if (!CMISproDataBase.ExistsRecord("DBERP", sSql)) { sSQL.Clear(); sSQL.Add("insert into XLBJPJDWZL(XLBJPJDWZL_XLXHID, XLBJPJDWZL_DYDJID, XLBJPJDWZL_XLGGID, XLBJPJDWZL_XLBZID, XLBJPJDWZL_PJDWZL,XLBJPJDWZL_BJCPJLDW ,XLBJPJDWZL_WHR, XLBJPJDWZL_WHRID, XLBJPJDWZL_WHSJ)"); sSQL.Add(" values(:XLBJPJDWZL_XLXHID, :XLBJPJDWZL_DYDJID, :XLBJPJDWZL_XLGGID, :XLBJPJDWZL_XLBZID, :XLBJPJDWZL_PJDWZL,:XLBJPJDWZL_BJCPJLDW, :XLBJPJDWZL_WHR, :XLBJPJDWZL_WHRID, :XLBJPJDWZL_WHSJ)"); } else { sSQL.Clear(); sSQL.Add("update XLBJPJDWZL set "); sSQL.Add("XLBJPJDWZL_PJDWZL =:XLBJPJDWZL_PJDWZL,"); sSQL.Add("XLBJPJDWZL_BJCPJLDW =:XLBJPJDWZL_BJCPJLDW,"); sSQL.Add("XLBJPJDWZL_WHR =:XLBJPJDWZL_WHR,"); sSQL.Add("XLBJPJDWZL_WHRID =:XLBJPJDWZL_WHRID,"); sSQL.Add("XLBJPJDWZL_WHSJ=:XLBJPJDWZL_WHSJ "); sSQL.Add(" where XLBJPJDWZL_XLXHID =:XLBJPJDWZL_XLXHID and XLBJPJDWZL_DYDJID =:XLBJPJDWZL_DYDJID and XLBJPJDWZL_XLGGID =:XLBJPJDWZL_XLGGID and XLBJPJDWZL_XLBZID =:XLBJPJDWZL_XLBZID"); } sSQL.ParamByName("XLBJPJDWZL_XLXHID").Value = sXLXHID; sSQL.ParamByName("XLBJPJDWZL_DYDJID").Value = sDYDJID; sSQL.ParamByName("XLBJPJDWZL_XLGGID").Value = sXLGGID; sSQL.ParamByName("XLBJPJDWZL_XLBZID").Value = sXLBZID; sSQL.ParamByName("XLBJPJDWZL_PJDWZL").Value = sDWZL; sSQL.ParamByName("XLBJPJDWZL_BJCPJLDW").Value = sBJCPJLDW; sSQL.ParamByName("XLBJPJDWZL_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLBJPJDWZL_WHR").Value = tSession.UserName; sSQL.ParamByName("XLBJPJDWZL_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); if (String.IsNullOrEmpty(ErrorMessage_Export)) dberp.ExecSQL(sSQL); aDataExcel.Tables[0].Rows[i]["错误信息"] = ErrorMessage_Export; } string ErMessage = Error_SQL.ToString(); if (ErMessage != "") { throw new Exception(ErMessage); } dberp.CommitTrans(); ShowMessage("导入成功!"); } catch { dberp.RollbackTrans(); string sFILENAME = "线缆报价盘具单位重量导入.xls"; string m_tmpFilePath = FileService.CombineTempPath(Guid.NewGuid().ToString() + sFILENAME); string sError = ""; TExcelData.CreateExcel_NPOI(m_tmpFilePath, aDataExcel, ref sError); if (string.IsNullOrEmpty(sError)) { DialogOperationScript dos = new DialogOperationScript(this); dos.SetOwnerControlValue(PageParam.GetRTrimString("ClientExportFileURL"), m_tmpFilePath.Replace("\\", "/")); dos.CloseSelf(); dos.Execute(); } return; } } catch (Exception ex) { ShowMessage("导入失败,错误信息:" + ex.Message); return; } System.IO.File.Delete(fupdPost.FilePath.Trim()); } catch (Exception ex) { ShowMessage("导入失败,错误信息:" + ex.Message); return; } CloseWindowNoQuery(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindowNoQuery(); } } }