2026821
This commit is contained in:
@@ -0,0 +1,835 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user