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

836 lines
46 KiB
C#

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 GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_CONTROL;
using GThinking.N_MISPROAS;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class CLHQ_DRInfo : SingleCardBase
{
CLHQ_DR entity = new CLHQ_DR();
#region page类事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860003;
this.UMName = "线缆销售报价材料行情";
base.CurMaster = Master;
base.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;
fupdPost.FileSaveType = gtAsyncFileUpload.DFileSaveType.SaveToPath;
if (AppRuntime.BitType == AppBitType.Bit32)
fupdPost.Filter = "XLS";
else // AppBitType.Bit64
fupdPost.Filter = "XLS,XLSX";
base.InitPage();
if (!IsPostBack)
{
InitControls();
}
}
#endregion
#region 控件事件
protected void btnQD_Click(object sender, EventArgs e)
{
if (fupdPost.FilePath.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);
ExcelColumnValid(aDataExcel);
InsertMX(dberp, sSQL, aDataExcel);
dberp.CommitTrans();
if (PageParam.GetRTrimString("txtNeedCallBackCID").Equals(""))
{
ShowMessage("导入成功!");
CloseWindow();
}
else
{
DialogOperationScript dos = new DialogOperationScript(this);
dos.SetOwnerControlValue(PageParam.GetRTrimString("txtNeedCallBackCID"), "Y");
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 InsertMX(TDatabase dberp, TSQL sSQL, DataSet ds)
{
string sBJU013 = GetOption("BJU013").Trim();
string sBDQK = "";
string sUserName = tSession.UserName;
string sHSJE = "";
string sWHSJ = DateTime.Now.ToString().Trim();
foreach (DataRow Row in ds.Tables[0].Rows)
{
string sBJCLID = Row[0].ToString().Trim();
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLID = '{0}' and isnull(XLXSBJCL_TYBZ,'N') = 'Y' ", sBJCLID)))
continue;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLID = '{0}' and isnull(XLXSBJCL_SFQR,'N') = 'N' ", sBJCLID)))
continue;
bool bExist =false;
double dZZSL = 0;
double dYZZSL = 0;
bool bSFJGCL = false;
double dYCLJG = 0;
double dYCGJG = 0;
string sJGYBJCLID1 = string.Empty;
//报价材信息分析:是否存在、税率、是否加工材料、原材料价格、原采购价格、原增值税率
BJCLXX(sBJCLID, chkJGHS.Checked, ref bExist, ref dZZSL, ref bSFJGCL, ref dYCLJG, ref dYCGJG, ref dYZZSL, ref sJGYBJCLID1);
if (!bExist)
continue;
//获取导入的材料价格、采购价格、加工费
double dDRCLJG = 0;
double dDRCGJG = 0;
double dDRJGF = 0;
if (sBJU013.Equals("0"))
{
dDRCLJG = CMISproConvert.StrToFloat(Row[2].ToString().Trim());
dDRCGJG = CMISproConvert.StrToFloat(Row[3].ToString().Trim());
dDRJGF = CMISproConvert.StrToFloat(Row[4].ToString().Trim());
}
else if (sBJU013.Equals("1"))
{
dDRCLJG = CMISproConvert.StrToFloat(Row[2].ToString().Trim());
dDRJGF = CMISproConvert.StrToFloat(Row[3].ToString().Trim());
}
else if (sBJU013.Equals("2"))
{
dDRCGJG = CMISproConvert.StrToFloat(Row[2].ToString().Trim());
dDRJGF = CMISproConvert.StrToFloat(Row[3].ToString().Trim());
}
if ((dDRCLJG == 0 && dDRCGJG == 0 && dDRJGF == 0) || (dDRCLJG < 0 || dDRCGJG < 0 ))
continue;
if (bSFJGCL&&((dYCLJG + dDRJGF) < 0 || (dYCGJG + dDRJGF) < 0))
continue;
int iNumberDecimal = XLBJDUtils.BJCLPriceDecimal;
dDRCLJG = NumberUtils.RoundX(dDRCLJG, iNumberDecimal);
dDRCGJG = NumberUtils.RoundX(dDRCGJG, iNumberDecimal);
dDRJGF = NumberUtils.RoundX(dDRJGF, iNumberDecimal);
double dHSCLJG = 0;
double dHSCGJG = 0;
double dHSJGF = 0;
double dWSCLJG = 0;
double dWSCGJG = 0;
double dWSJGF = 0;
double dWSJG1 = 0;
double dHSJG1 = 0;
double dJGBL1 = 1;
#region 为价格赋值
if (chkJGHS.Checked)
{
if (bSFJGCL)
{
dHSCLJG = NumberUtils.RoundX(dYCLJG + dDRJGF, iNumberDecimal);
dHSCGJG = NumberUtils.RoundX(dYCGJG + dDRJGF, iNumberDecimal);
dHSJGF = NumberUtils.RoundX(dDRJGF, iNumberDecimal);
dWSJGF = NumberUtils.RoundX(dHSJGF / (1 + (dZZSL / 100)), iNumberDecimal);
dWSCLJG = NumberUtils.RoundX(dYCLJG / (1 + (dZZSL / 100)), iNumberDecimal) + dWSJGF;
dWSCGJG = NumberUtils.RoundX(dYCGJG / (1 + (dZZSL / 100)), iNumberDecimal) + dWSJGF;
dHSJG1 = NumberUtils.RoundX(dYCLJG, iNumberDecimal);
dWSJG1 = NumberUtils.RoundX(dYCLJG / (1 + (dZZSL / 100)), iNumberDecimal);
}
else
{
if (sBJU013.Equals("0"))
{
dHSCLJG = NumberUtils.RoundX(dDRCLJG, iNumberDecimal);
dHSCGJG = NumberUtils.RoundX(dDRCGJG, iNumberDecimal);
dWSCLJG = NumberUtils.RoundX(dHSCLJG / (1 + (dZZSL / 100)), iNumberDecimal);
dWSCGJG = NumberUtils.RoundX(dHSCGJG / (1 + (dZZSL / 100)), iNumberDecimal);
}
else if (sBJU013.Equals("1"))
{
dHSCLJG = NumberUtils.RoundX(dDRCLJG, iNumberDecimal);
dWSCLJG = NumberUtils.RoundX(dHSCLJG / (1 + (dZZSL / 100)), iNumberDecimal);
}
else if (sBJU013.Equals("2"))
{
dHSCGJG = NumberUtils.RoundX(dDRCGJG, iNumberDecimal);
dWSCGJG = NumberUtils.RoundX(dHSCGJG / (1 + (dZZSL / 100)), iNumberDecimal);
}
}
}
else
{
if (bSFJGCL)
{
dWSCLJG = NumberUtils.RoundX(dYCLJG + dDRJGF, iNumberDecimal);
dWSCGJG = NumberUtils.RoundX(dYCGJG + dDRJGF, iNumberDecimal);
dWSJGF = NumberUtils.RoundX(dDRJGF, iNumberDecimal);
dHSJGF = NumberUtils.RoundX(dWSJGF * (1 + (dZZSL / 100)), iNumberDecimal);
dHSCLJG = NumberUtils.RoundX(dYCLJG * (1 + (dZZSL / 100)), iNumberDecimal) + dHSJGF;
dHSCGJG = NumberUtils.RoundX(dYCGJG * (1 + (dZZSL / 100)), iNumberDecimal) + dHSJGF;
dWSJG1 = NumberUtils.RoundX(dYCLJG, iNumberDecimal);
dHSJG1 = NumberUtils.RoundX(dYCLJG * (1 + (dZZSL / 100)), iNumberDecimal);
}
else
{
if (sBJU013.Equals("0"))
{
dWSCLJG = NumberUtils.RoundX(dDRCLJG, iNumberDecimal);
dWSCGJG = NumberUtils.RoundX(dDRCGJG, iNumberDecimal);
dHSCLJG = NumberUtils.RoundX(dWSCLJG * (1 + (dZZSL / 100)), iNumberDecimal);
dHSCGJG = NumberUtils.RoundX(dWSCGJG * (1 + (dZZSL / 100)), iNumberDecimal);
}
else if (sBJU013.Equals("1"))
{
dWSCLJG = NumberUtils.RoundX(dDRCLJG, iNumberDecimal);
dHSCLJG = NumberUtils.RoundX(dWSCLJG * (1 + (dZZSL / 100)), iNumberDecimal);
}
else if (sBJU013.Equals("2"))
{
dWSCGJG = NumberUtils.RoundX(dDRCGJG, iNumberDecimal);
dHSCGJG = NumberUtils.RoundX(dWSCGJG * (1 + (dZZSL / 100)), iNumberDecimal);
}
}
}
#endregion
sSQL.Clear();
sSQL.Add(" select XLXSCLHQ_YXQS,XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_BJCLID =:pBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS = :pDate");
sSQL.Add(" order by XLXSCLHQ_YXQS desc ");
sSQL.ParamByName("pBJCLID").Value = sBJCLID;
sSQL.ParamByName("pDate").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
DataSet dsCLHQ = dberp.OpenDataSet(sSQL);
if (dsCLHQ.Tables[0].Rows.Count > 0)
{
sBDQK = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
sHSJE = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
sUserName = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
sWHSJ = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
CLHQInfo.GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK);
string sYXQS = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim();
sSQL.Clear();
sSQL.Add(" update XLXSCLHQ set XLXSCLHQ_WHR =:pWHR,XLXSCLHQ_WHRID = :pWHRID,XLXSCLHQ_WHSJ = :pWHSJ, ");
sSQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK ");
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
sSQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK;
if (bSFJGCL)
{
sSQL.Add(" ,XLXSCLHQ_WSJG = :pWSJG ");
sSQL.Add(" ,XLXSCLHQ_HSJG = :pHSJG ");
sSQL.Add(" ,XLXSCLHQ_WSCGJG = :pWSCGJG ");
sSQL.Add(" ,XLXSCLHQ_HSCGJG = :pHSCGJG ");
sSQL.Add(" ,XLXSCLHQ_WSJGF = :pWSJGF ");
sSQL.Add(" ,XLXSCLHQ_HSJGF = :pHSJGF ");
sSQL.Add(" ,XLXSCLHQ_WSJG1 = :pWSJG1 ");
sSQL.Add(" ,XLXSCLHQ_HSJG1 = :pHSJG1 ");
sSQL.Add(" ,XLXSCLHQ_JGYBJCLID1 = :pJGYBJCLID1 ");
sSQL.Add(" ,XLXSCLHQ_JGBL1 = :pJGBL1 ");
sSQL.ParamByName("pWSJG").Value = dWSCLJG;
sSQL.ParamByName("pHSJG").Value = dHSCLJG;
sSQL.ParamByName("pWSCGJG").Value = dWSCGJG;
sSQL.ParamByName("pHSCGJG").Value = dHSCGJG;
sSQL.ParamByName("pWSJGF").Value = dWSJGF;
sSQL.ParamByName("pHSJGF").Value = dHSJGF;
sSQL.ParamByName("pWSJG1").Value = dWSJG1;
sSQL.ParamByName("pHSJG1").Value = dHSJG1;
sSQL.ParamByName("pJGYBJCLID1").Value = sJGYBJCLID1;
sSQL.ParamByName("pJGBL1").Value = dJGBL1;
}
else
{
if (sBJU013.Equals("0"))
{
sSQL.Add(" ,XLXSCLHQ_WSJG = :pWSJG ");
sSQL.Add(" ,XLXSCLHQ_HSJG = :pHSJG ");
sSQL.Add(" ,XLXSCLHQ_WSCGJG = :pWSCGJG ");
sSQL.Add(" ,XLXSCLHQ_HSCGJG = :pHSCGJG ");
sSQL.ParamByName("pWSJG").Value = dWSCLJG;
sSQL.ParamByName("pHSJG").Value = dHSCLJG;
sSQL.ParamByName("pWSCGJG").Value = dWSCGJG;
sSQL.ParamByName("pHSCGJG").Value = dHSCGJG;
}
else if (sBJU013.Equals("1"))
{
sSQL.Add(" ,XLXSCLHQ_WSJG = :pWSJG ");
sSQL.Add(" ,XLXSCLHQ_HSJG = :pHSJG ");
sSQL.ParamByName("pWSJG").Value = dWSCLJG;
sSQL.ParamByName("pHSJG").Value = dHSCLJG;
}
else if (sBJU013.Equals("2"))
{
sSQL.Add(" ,XLXSCLHQ_WSCGJG = :pWSCGJG ");
sSQL.Add(" ,XLXSCLHQ_HSCGJG = :pHSCGJG ");
sSQL.ParamByName("pWSCGJG").Value = dWSCGJG;
sSQL.ParamByName("pHSCGJG").Value = dHSCGJG;
}
}
sSQL.Add(" where XLXSCLHQ_BJCLID =:pBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS = :pDate ");
sSQL.ParamByName("pBJCLID").Value = sBJCLID;
sSQL.ParamByName("pDate").Value = CMISproConvert.StrToDateTime(sYXQS);
dberp.ExecSQL(sSQL);
}
else
{
sSQL.Clear();
sSQL.Add(" insert into XLXSCLHQ ( XLXSCLHQ_YXQS,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ,XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,");
if (bSFJGCL)
{
sSQL.Add(" XLXSCLHQ_WSJG1,XLXSCLHQ_HSJG1,XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1, ");
sSQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF ) ");
}
else
{
if (sBJU013.Equals("0"))
{
sSQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG ) ");
}
else if (sBJU013.Equals("1"))
{
sSQL.Add(" XLXSCLHQ_WSJG,XLXSCLHQ_HSJG ) ");
}
else if (sBJU013.Equals("2"))
{
sSQL.Add(" XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG ) ");
}
}
sSQL.Add(" values ( :XLXSCLHQ_YXQS,' ',:XLXSCLHQ_WHRID,:XLXSCLHQ_WHR,:XLXSCLHQ_WHSJ,'ZZZZZZZZ',:XLXSCLHQ_BJCLID,");
sSQL.ParamByName("XLXSCLHQ_YXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
sSQL.ParamByName("XLXSCLHQ_BJCLID").Value = sBJCLID;
if (bSFJGCL)
{
sSQL.Add(" :XLXSCLHQ_WSJG1,:XLXSCLHQ_HSJG1,:XLXSCLHQ_JGYBJCLID1,:XLXSCLHQ_JGBL1, ");
sSQL.Add(" :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG,:XLXSCLHQ_WSJGF,:XLXSCLHQ_HSJGF ) ");
sSQL.ParamByName("XLXSCLHQ_WSJG1").Value = dWSJG1;
sSQL.ParamByName("XLXSCLHQ_HSJG1").Value = dHSJG1;
sSQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = sJGYBJCLID1;
sSQL.ParamByName("XLXSCLHQ_JGBL1").Value = dJGBL1;
sSQL.ParamByName("XLXSCLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSCLHQ_HSJG").Value = dHSCLJG;
sSQL.ParamByName("XLXSCLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSCLHQ_HSCGJG").Value = dHSCGJG;
sSQL.ParamByName("XLXSCLHQ_WSJGF").Value = dWSJGF;
sSQL.ParamByName("XLXSCLHQ_HSJGF").Value = dHSJGF;
}
else
{
if (sBJU013.Equals("0"))
{
sSQL.Add(" :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG ) ");
sSQL.ParamByName("XLXSCLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSCLHQ_HSJG").Value = dHSCLJG;
sSQL.ParamByName("XLXSCLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSCLHQ_HSCGJG").Value = dHSCGJG;
}
else if (sBJU013.Equals("1"))
{
sSQL.Add(" :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG ) ");
sSQL.ParamByName("XLXSCLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSCLHQ_HSJG").Value = dHSCLJG;
}
else if (sBJU013.Equals("2"))
{
sSQL.Add(" :XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG ) ");
sSQL.ParamByName("XLXSCLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSCLHQ_HSCGJG").Value = dHSCGJG;
}
}
dberp.ExecSQL(sSQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
sSQL.Clear();
sSQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS=");
sSQL.Add(" (");
sSQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
sSQL.Add(" from XLXSCLHQ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" )");
sSQL.Add(" and XLXSCLHQ_YXQZ is null ");
sSQL.ParamByName("pBJCLID").Value = sBJCLID;
sSQL.ParamByName("pYXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
dberp.ExecSQL(sSQL);
}
sSQL.Clear();
sSQL.Add(" select XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_JGYBJCLID = :pBJCLID ");
sSQL.ParamByName("pBJCLID").Value = sBJCLID;
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
string sJGBJCLID = trow["XLXSBJCL_BJCLID"].ToString().Trim();
sSQL.Clear();
sSQL.Add(" select XLXSCLHQ_YXQS,XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_BJCLID =:pBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS = :pDate");
sSQL.Add(" order by XLXSCLHQ_YXQS desc ");
sSQL.ParamByName("pBJCLID").Value = sJGBJCLID;
sSQL.ParamByName("pDate").Value = DateTime.Now.ToShortDateString().Trim();
DataSet dsQry = dberp.OpenDataSet(sSQL);
if (dsQry.Tables[0].Rows.Count > 0)
{
sBDQK = dsQry.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim();
sHSJE = dsQry.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim();
sUserName = dsQry.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim();
sWHSJ = dsQry.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim();
CLHQInfo.GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK);
sSQL.Clear();
sSQL.Add(" update XLXSCLHQ set XLXSCLHQ_WHR =:pWHR,XLXSCLHQ_WHRID = :pWHRID,XLXSCLHQ_WHSJ = :pWHSJ, ");
sSQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK ");
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
sSQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK;
sSQL.Add(" ,XLXSCLHQ_WSJG1 = :pWSJG ");
sSQL.Add(" ,XLXSCLHQ_HSJG1 = :pHSJG ");
sSQL.Add(" ,XLXSCLHQ_WSCGJG = XLXSCLHQ_WSJGF + :pWSCGJG ");
sSQL.Add(" ,XLXSCLHQ_HSCGJG = XLXSCLHQ_HSJGF + :pHSCGJG "); ;
sSQL.ParamByName("pWSJG").Value = dWSCLJG;
sSQL.ParamByName("pHSJG").Value = dHSCLJG;
sSQL.ParamByName("pWSCGJG").Value = dWSCGJG;
sSQL.ParamByName("pHSCGJG").Value = dHSCGJG;
sSQL.Add(" where XLXSCLHQ_BJCLID =:pBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS = :pDate ");
sSQL.ParamByName("pBJCLID").Value = sJGBJCLID;
sSQL.ParamByName("pDate").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
dberp.ExecSQL(sSQL);
}
else
{
sSQL.Clear();
sSQL.Add(" insert into XLXSCLHQ( ");
sSQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF, ");
sSQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1,XLXSCLHQ_YXQS,XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )");
sSQL.Add(" SELECT :pBJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG, ");
sSQL.Add(" :XLXSCLHQ_WSCGJG + isnull(XLXSCLHQ_WSJGF,0),:XLXSCLHQ_HSCGJG + isnull(XLXSCLHQ_HSJGF,0),");
sSQL.Add(" isnull(XLXSCLHQ_WSJGF,0),isnull(XLXSCLHQ_HSJGF,0), ");
sSQL.Add(" XLXSCLHQ_JGYBJCLID1, isnull(XLXSCLHQ_JGBL1,0), ");
sSQL.Add(" :pYXQS,:XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ from XLXSCLHQ ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS=");
sSQL.Add(" (");
sSQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
sSQL.Add(" from XLXSCLHQ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,0,:pYXQS) ");
sSQL.Add(" )");
sSQL.Add(" and XLXSCLHQ_YXQZ is null ");
sSQL.ParamByName("XLXSCLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSCLHQ_HSJG").Value = dHSCLJG;
sSQL.ParamByName("XLXSCLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSCLHQ_HSCGJG").Value = dHSCGJG;
sSQL.ParamByName("pYXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("XLXSCLHQ_BZ").Value = "";
sSQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now;
sSQL.ParamByName("pBJCLID").Value = sJGBJCLID;
dberp.ExecSQL(sSQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
sSQL.Clear();
sSQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS=");
sSQL.Add(" (");
sSQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS");
sSQL.Add(" from XLXSCLHQ");
sSQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' ");
sSQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID");
sSQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" )");
sSQL.Add(" and XLXSCLHQ_YXQZ is null ");
sSQL.ParamByName("pBJCLID").Value = sJGBJCLID;
sSQL.ParamByName("pYXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
dberp.ExecSQL(sSQL);
}
//更新或插入后处理加工料的HSJG、WSJG
sSQL.Clear();
sSQL.Add(" update XLXSCLHQ set XLXSCLHQ_WSJG=XLXSCLHQ_WSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_WSJGF, ");
sSQL.Add(" XLXSCLHQ_HSJG=XLXSCLHQ_HSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_HSJGF ");
sSQL.Add(" where XLXSCLHQ_BJCLID =:pBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS = :pDate ");
sSQL.ParamByName("pBJCLID").Value = sJGBJCLID;
sSQL.ParamByName("pDate").Value = DateTime.Now.ToShortDateString().Trim();
dberp.ExecSQL(sSQL);
SetWLHQ(dberp, sSQL, sJGBJCLID, dWSCLJG, dHSCLJG, dWSCGJG, dHSCGJG);
}
}
}
}
//同步调整对应的物料行情
private void SetWLHQ(TDatabase dberp, TSQL sSQL, string sJGBJCLID, double dWSCLJG, double dHSCLJG, double dWSCGJG, double dHSCGJG)
{
sSQL.Clear();
sSQL.Add(" SELECT XLXSBJCLWL_WLID,XLXSBJCLWL_BJCLID,XLXSBJCL_BJCLMC FROM XLXSBJCLWL ");
sSQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID ");
sSQL.Add(" WHERE 1 = 1 AND isnull(XLXSBJCL_BJCLMC, ' ')<> ' ' and XLXSBJCL_BJHQ = '2' and isnull(XLXSBJCL_JGYBJCLID,' ') <> ' ' and XLXSBJCLWL_BJCLID =:pJGBJCLID ");
sSQL.ParamByName("pJGBJCLID").Value = sJGBJCLID;
DataSet dsBJCLWL = dberp.OpenDataSet(sSQL);
if (dsBJCLWL.Tables[0].Rows.Count > 0)
{
for (int j = 0; j < dsBJCLWL.Tables[0].Rows.Count; j++)
{
string sWLID = dsBJCLWL.Tables[0].Rows[j]["XLXSBJCLWL_WLID"].ToString().Trim();
sSQL.Clear();
//查询是否存在插入记录
sSQL.Add("select 1 from XLXSWLHQ where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
sSQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("pWLID").Value = sWLID;
DataSet dsWLHQ = dberp.OpenDataSet(sSQL);
if (dsWLHQ.Tables[0].Rows.Count > 0)
{
sSQL.Clear();
sSQL.Add(" update XLXSWLHQ ");
sSQL.Add(" set XLXSWLHQ_WSJG1 = :XLXSWLHQ_WSJG,XLXSWLHQ_HSJG1=:XLXSWLHQ_HSJG, ");
sSQL.Add(" XLXSWLHQ_WSCGJG = (:XLXSWLHQ_WSCGJG + XLXSWLHQ_WSJGF),XLXSWLHQ_HSCGJG=(:XLXSWLHQ_HSCGJG + XLXSWLHQ_HSJGF), ");
sSQL.Add(" XLXSWLHQ_YXQS = :XLXSWLHQ_YXQS, XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ");
sSQL.Add(" where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
sSQL.ParamByName("XLXSWLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSWLHQ_HSJG").Value = dHSCLJG;
sSQL.ParamByName("XLXSWLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSWLHQ_HSCGJG").Value = dHSCGJG;
sSQL.ParamByName("XLXSWLHQ_YXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
sSQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("pWLID").Value = sWLID;
dberp.ExecSQL(sSQL);
}
else
{
sSQL.Clear();
sSQL.Add(" insert into XLXSWLHQ( ");
sSQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID, XLXSWLHQ_WSJG1,XLXSWLHQ_HSJG1, XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,");
sSQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_JGBL1,XLXSWLHQ_YXQS, XLXSWLHQ_YXQZ, XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ)");
sSQL.Add(" SELECT ");
sSQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_WSJG,:XLXSWLHQ_HSJG,");
sSQL.Add(" isnull(XLXSWLHQ_WSJGF,0),isnull(XLXSWLHQ_HSJGF,0), ");
sSQL.Add(" :XLXSWLHQ_WSCGJG + isnull(XLXSWLHQ_WSJGF,0),:XLXSWLHQ_HSCGJG + isnull(XLXSWLHQ_HSJGF,0),");
sSQL.Add(" XLXSWLHQ_JGYBJCLID1,isnull(XLXSWLHQ_JGBL1,0), ");
sSQL.Add(" :XLXSWLHQ_YXQS, :XLXSWLHQ_YXQZ, ");
sSQL.Add(" :XLXSWLHQ_BZ, :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ ");
sSQL.Add(" from XLXSWLHQ ");
sSQL.Add(" where XLXSWLHQ_JGBID=' '");
sSQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID");
sSQL.Add(" and XLXSWLHQ_YXQS=");
sSQL.Add(" (");
sSQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS");
sSQL.Add(" from XLXSWLHQ");
sSQL.Add(" where XLXSWLHQ_JGBID=' ' ");
sSQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID");
sSQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,0,:XLXSWLHQ_YXQS) ");
sSQL.Add(" )");
sSQL.Add(" and XLXSWLHQ_YXQZ is null ");
sSQL.ParamByName("XLXSWLHQ_WSJG").Value = dWSCLJG;
sSQL.ParamByName("XLXSWLHQ_HSJG").Value = dHSCLJG;
sSQL.ParamByName("XLXSWLHQ_WSCGJG").Value = dWSCGJG;
sSQL.ParamByName("XLXSWLHQ_HSCGJG").Value = dHSCGJG;
sSQL.ParamByName("XLXSWLHQ_YXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("XLXSWLHQ_YXQZ").Clear();
sSQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now;
sSQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID;
dberp.ExecSQL(sSQL);
//并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。
sSQL.Clear();
sSQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" where XLXSWLHQ_JGBID=' '");
sSQL.Add(" and XLXSWLHQ_WLID=:pWLID");
sSQL.Add(" and XLXSWLHQ_YXQS=");
sSQL.Add(" (");
sSQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS");
sSQL.Add(" from XLXSWLHQ");
sSQL.Add(" where XLXSWLHQ_JGBID=' ' ");
sSQL.Add(" and XLXSWLHQ_WLID=:pWLID");
sSQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,-1,:pYXQS) ");
sSQL.Add(" )");
sSQL.Add(" and XLXSWLHQ_YXQZ is null ");
sSQL.ParamByName("pWLID").Value = sWLID;
sSQL.ParamByName("pYXQS").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
dberp.ExecSQL(sSQL);
}
//更新或插入后处理加工料的HSJG、WSJG
sSQL.Clear();
sSQL.Add(" update XLXSWLHQ set XLXSWLHQ_WSJG=XLXSWLHQ_WSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_WSJGF, ");
sSQL.Add(" XLXSWLHQ_HSJG=XLXSWLHQ_HSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_HSJGF ");
sSQL.Add(" where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID ");
sSQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
sSQL.ParamByName("pWLID").Value = sWLID;
dberp.ExecSQL(sSQL);
}
}
}
//报价材信息分析:是否存在、税率、是否加工材料、原材料价格、原采购价格
private void BJCLXX(string sBJCLID, bool SFHS, ref bool bExist, ref double dZZSL, ref bool bSFJGCL, ref double dYCLJG, ref double dYCGJG, ref double dYZZSL, ref string sJGYBJCLID1)
{
bExist = false;
dZZSL = 0;
bSFJGCL = false;
dYCLJG = 0;
dYCGJG = 0;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_ZZSL from XLXSBJCL where XLXSBJCL_BJCLID= :pBJCLID ");
sSQL.ParamByName("pBJCLID").Value = sBJCLID.Trim();
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
bExist = true;
dZZSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJCL_ZZSL"].ToString().Trim());
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XLXSBJCL_JGYBJCLID"].ToString().Trim()))
{
bSFJGCL = true;
string sYBJCLID = ds.Tables[0].Rows[0]["XLXSBJCL_JGYBJCLID"].ToString().Trim();
sJGYBJCLID1 = sYBJCLID;
sSQL.Clear();
sSQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,XLXSBJCL_ZZSL from XLXSCLHQ ");
sSQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID = XLXSCLHQ_BJCLID ");
sSQL.Add(" where XLXSCLHQ_BJCLID =:pYBJCLID and XLXSCLHQ_JGBID ='ZZZZZZZZ' ");
sSQL.Add(" and ( XLXSCLHQ_YXQZ >= :pDate or XLXSCLHQ_YXQZ is null ) ");
sSQL.Add(" and XLXSCLHQ_YXQS <= :pDate ");
sSQL.Add(" order by XLXSCLHQ_YXQS desc ");
sSQL.ParamByName("pYBJCLID").Value = sYBJCLID;
sSQL.ParamByName("pDate").Value = CMISproConvert.StrToDateTime(DateTime.Now.ToShortDateString().Trim());
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (SFHS)
{
dYCLJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim());
dYCGJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim());
}
else
{
dYCLJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim());
dYCGJG = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim());
}
dYZZSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJCL_ZZSL"].ToString().Trim());
}
}
}
}
private void ExcelColumnValid(DataSet ds)
{
Dictionary<string, string> ColumnNames = new Dictionary<string, string>();
ColumnNames.Add("0", "材料编码");
ColumnNames.Add("1", "材料名称");
string sBJU013 = GetOption("BJU013").Trim();
if (sBJU013.Equals("0"))
{
ColumnNames.Add("2", "材料价格");
ColumnNames.Add("3", "采购价格");
ColumnNames.Add("4", "加工费");
}
else if (sBJU013.Equals("1"))
{
ColumnNames.Add("2", "材料价格");
ColumnNames.Add("3", "加工费");
}
else if (sBJU013.Equals("2"))
{
ColumnNames.Add("2", "采购价格");
ColumnNames.Add("3", "加工费");
}
for (int i = 0; i < ColumnNames.Count; i++)
{
try
{
if (i > 1)
{
if (!ds.Tables[0].Columns[i].ColumnName.Trim().Contains(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("栏目[" + ds.Tables[0].Columns[i].ColumnName + "]与导入文件要求的栏目格式不一致!");
}
}
else
{
if (!ds.Tables[0].Columns[i].ColumnName.Trim().Equals(ColumnNames[i.ToString()].Trim()))
{
throw new Exception("栏目[" + ds.Tables[0].Columns[i].ColumnName + "]与导入文件要求的栏目格式不一致!");
}
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
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", "");
}
private void InitControls()
{
chkJGHS.Checked = true;
int iXSWS=XLBJDUtils.BJCLPriceDecimal;
string sXSWS = NumToChinese(iXSWS);
string sBJU013 = GetOption("BJU013").Trim();
if (sBJU013.Equals("0"))
{
lblLMYC.Text = "Excel栏目依次为:材料编码、材料名称、材料价格(元/Kg)、采购价格(元/Kg)、加工费(元/Kg)";
lblSM.Text = string.Format(@"1、导入有效期始以当前日期为准。材料价格,采购价格和加工费都为0的不进行更新。<br>
2、加工料:导入后仅更新加工费,如存在材料价格或采购价格,则跳过。<br>
3、非加工料:导入后仅更新材料价格和采购价格。<br>
4、税率依照报价材料税率计算。<br>
5、如果报价材料是加工原料,则会重算加工料的材料价格和采购价格。<br>
6、如果报价材料的加工料存在物料行情,则会更新物料价格。<br>
7、价格仅支持{0}位小数,多出的位数会被忽略。<br>
8、停用的报价材料会被跳过。", sXSWS);
}
else if (sBJU013.Equals("1"))
{
lblLMYC.Text = "Excel栏目依次为:材料编码、材料名称、材料价格(元/Kg),加工费(元/Kg)";
lblSM.Text = string.Format(@"1、导入有效期始以当前日期为准。材料价格,采购价格和加工费都为0的不进行更新。<br>
2、加工料:导入后仅更新加工费,如存在材料价格或采购价格,则跳过。<br>
3、非加工料:导入后仅更新非加工料的材料价格。<br>
4、税率依照报价材料税率计算。<br>
5、如果报价材料是加工原料,则会重算加工料的材料价格和采购价格。<br>
6、如果报价材料的加工料存在物料行情,则会更新物料价格。<br>
7、价格仅支持{0}位小数,多出的位数会被忽略。<br>
8、停用的报价材料会被跳过。", sXSWS);
}
else if (sBJU013.Equals("2"))
{
lblLMYC.Text = "Excel栏目依次为:材料编码、材料名称、采购价格(元/Kg),加工费(元/Kg)";
lblSM.Text = string.Format(@"1、导入有效期始以当前日期为准。材料价格,采购价格和加工费都为0的不进行更新。<br>
2、加工料:导入后仅更新加工费,如存在材料价格或采购价格,则跳过。<br>
3、非加工料:导入后仅支持更新采购价格。<br>
4、税率依照报价材料税率计算。<br>
5、如果报价材料是加工原料,则会重算加工料的材料价格和采购价格。<br>
6、如果报价材料的加工料存在物料行情,则会更新物料价格。<br>
7、价格仅支持{0}位小数,多出的位数会被忽略。<br>
8、停用的报价材料会被跳过。", sXSWS);
}
}
private string NumToChinese(int iXSWS)
{
switch (iXSWS)
{
case 0:
return "零";
case 1:
return "一";
case 2:
return "二";
case 3:
return "三";
case 4:
return "四";
case 5:
return "五";
case 6:
return "六";
case 7:
return "七";
case 8:
return "八";
case 9:
return "九";
case 10:
return "十";
default:
return iXSWS.ToString();
}
}
#endregion
}
}