This commit is contained in:
2026-09-09 23:26:19 +08:00
parent 7b99aec79b
commit 2b324c2ec8
5 changed files with 238 additions and 221 deletions
+63 -40
View File
@@ -4756,7 +4756,7 @@ public class XLJGB_CLJGTZList
public static void DoCPJJ(TDatabase dberp, string sMXBH, string sJGBID, bool bInsertXLXSJGBYZZ0, string sJGCZBID, string sJGCZBBBID, int iXSWS, string sJSBLFS, string sWHRID, string sWHR, double maxXH)
{
{
//据材料成本及调整因子的值计算无税产品单价、含税产品单价
TSQL SQL = new TSQL(dberp);
@@ -4772,44 +4772,51 @@ public class XLJGB_CLJGTZList
if (dsJGBYZ.Tables[0].Rows.Count > 0)
{
string sJSGS = dsJGBYZ.Tables[0].Rows[0]["XLXSJGB_JSGS"].ToString().Trim();
string sTJYSList_ = "";//记录调价因素为空的因子id
string sTJYSList1 = "";//记录调价因素为'1'的因子id
string sTJYSList3 = "";//记录调价因素为'3'的因子id
string sTJYSList4 = "";//记录调价因素为'4'的因子id
string sTJYSList5 = "";//记录调价因素为'5'的因子id
string sTJYSList8 = "";//记录调价因素为'8'的因子id
string sTJYSList9 = "";//记录调价因素为'9'的因子id
StringBuilder sbTJYSList_ = new StringBuilder("");//记录调价因素为空的因子id
StringBuilder sbTJYSList1 = new StringBuilder("");//记录调价因素为'1'的因子id
StringBuilder sbTJYSList3 = new StringBuilder("");//记录调价因素为'3'的因子id
StringBuilder sbTJYSList4 = new StringBuilder("");//记录调价因素为'4'的因子id
StringBuilder sbTJYSList5 = new StringBuilder("");//记录调价因素为'5'的因子id
StringBuilder sbTJYSList8 = new StringBuilder("");//记录调价因素为'8'的因子id
StringBuilder sbTJYSList9 = new StringBuilder("");//记录调价因素为'9'的因子id
for (int i = 0; i < dsJGBYZ.Tables[0].Rows.Count; i++)
{
if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals(""))
{
sTJYSList_ += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList_.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("1"))
{
sTJYSList1 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList1.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("3"))
{
sTJYSList3 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList3.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("4"))
{
sTJYSList4 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList4.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("5"))
{
sTJYSList5 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList5.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("8"))
{
sTJYSList8 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList8.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("9"))
{
sTJYSList9 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList9.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
}
string sTJYSList_ = sbTJYSList_.ToString();
string sTJYSList9 = sbTJYSList9.ToString();
string sTJYSList8 = sbTJYSList8.ToString();
string sTJYSList5 = sbTJYSList5.ToString();
string sTJYSList4 = sbTJYSList4.ToString();
string sTJYSList3 = sbTJYSList3.ToString();
string sTJYSList1 = sbTJYSList1.ToString();
sTJYSList_ = sTJYSList_.TrimEnd(',');
sTJYSList1 = sTJYSList1.TrimEnd(',');
sTJYSList3 = sTJYSList3.TrimEnd(',');
@@ -5603,44 +5610,51 @@ public class XLJGB_CLJGTZList
if (dsJGBYZ.Tables[0].Rows.Count > 0)
{
string sJSGS = dsJGBYZ.Tables[0].Rows[0]["XLXSJGB_JSGS"].ToString().Trim();
string sTJYSList_ = "";//记录调价因素为空的因子id
string sTJYSList1 = "";//记录调价因素为'1'的因子id
string sTJYSList3 = "";//记录调价因素为'3'的因子id
string sTJYSList4 = "";//记录调价因素为'4'的因子id
string sTJYSList5 = "";//记录调价因素为'5'的因子id
string sTJYSList8 = "";//记录调价因素为'8'的因子id
string sTJYSList9 = "";//记录调价因素为'9'的因子id
StringBuilder sbTJYSList_ = new StringBuilder("");//记录调价因素为空的因子id
StringBuilder sbTJYSList1 = new StringBuilder("");//记录调价因素为'1'的因子id
StringBuilder sbTJYSList3 = new StringBuilder("");//记录调价因素为'3'的因子id
StringBuilder sbTJYSList4 = new StringBuilder("");//记录调价因素为'4'的因子id
StringBuilder sbTJYSList5 = new StringBuilder("");//记录调价因素为'5'的因子id
StringBuilder sbTJYSList8 = new StringBuilder("");//记录调价因素为'8'的因子id
StringBuilder sbTJYSList9 = new StringBuilder("");//记录调价因素为'9'的因子id
for (int i = 0; i < dsJGBYZ.Tables[0].Rows.Count; i++)
{
if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals(""))
{
sTJYSList_ += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList_.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("1"))
{
sTJYSList1 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList1.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("3"))
{
sTJYSList3 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList3.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("4"))
{
sTJYSList4 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList4.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("5"))
{
sTJYSList5 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList5.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("8"))
{
sTJYSList8 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList8.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
else if (dsJGBYZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim().Equals("9"))
{
sTJYSList9 += dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",";
sbTJYSList9.Append(dsJGBYZ.Tables[0].Rows[i]["XLXSJGBYZ_YZID"].ToString().Trim() + ",");
}
}
string sTJYSList_ = sbTJYSList_.ToString();
string sTJYSList9 = sbTJYSList9.ToString();
string sTJYSList8 = sbTJYSList8.ToString();
string sTJYSList5 = sbTJYSList5.ToString();
string sTJYSList4 = sbTJYSList4.ToString();
string sTJYSList3 = sbTJYSList3.ToString();
string sTJYSList1 = sbTJYSList1.ToString();
sTJYSList_ = sTJYSList_.TrimEnd(',');
sTJYSList1 = sTJYSList1.TrimEnd(',');
sTJYSList3 = sTJYSList3.TrimEnd(',');
@@ -6605,7 +6619,7 @@ public class XLJGB_CLJGTZList
//调价因素3价格表,则XLXSCLQD_JGBHSCB、XLXSCLQD_JGBWSCB只用来记录材料价价差
public static void UpdateCLCB(TDatabase dberp, TSQL SQL, string sJGBID, string sJGCZBID, string sJGCZBBBID, int iXSWS, string sJSBLFS, string sWHRID, string sWHR, double maxXH, string sJGBID1,
string sTBJCLID_JGBBJ, string sLBJCLID_JGBBJ, double dTJ_JGBBJ, double dLJ_JGBBJ, string sBJDID, int iMinXH, string sBJDXHList, string sBJU003)
{
{
bool bExistsWLHQ = false;//是否存在物料行情报价材料
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_BJHQ='2'")))
bExistsWLHQ = true;
@@ -7578,15 +7592,16 @@ public class XLJGB_CLJGTZList
if (bNeedAddWLHQ)
{
string sWLHQCLQDL = string.Empty;//记录物料行情的材料清单列
StringBuilder sbWLHQCLQDL = new StringBuilder(string.Empty);//记录物料行情的材料清单列
for (int i = 0; i < dsCLQDL.Tables[0].Rows.Count; i++)
{
sCLQDL = dsCLQDL.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim();
sBJHQ = dsCLQDL.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim();
sBJRCLCB = dsCLQDL.Tables[0].Rows[i]["XLJGCZBLM_BJRCLCB"].ToString().Trim();
if (sBJHQ.Equals("2") && !sBJRCLCB.Equals("Y"))//2|物料行情
sWLHQCLQDL += sCLQDL.Replace("第", "").Replace("列", "") + ",";
sbWLHQCLQDL.Append(sCLQDL.Replace("第", "").Replace("列", "") + ",");
}
string sWLHQCLQDL = sbWLHQCLQDL.ToString();
sWLHQCLQDL = sWLHQCLQDL.TrimEnd(',');
string[] sWLHQCLQDList = sWLHQCLQDL.Split(',');
@@ -9324,20 +9339,26 @@ public class XLJGB_JGFLDInfo
if (dsBJCL.Tables[0].Rows.Count > 0)
{
//判断 加工原料 铜
//预加载该价格表当日已存在的料价记录,避免循环内逐行查询数据库
SQL.Clear();
SQL.Add("select XLXSCLHQ_BJCLID from XLXSCLHQ where XLXSCLHQ_JGBID =:pJGBID and XLXSCLHQ_YXQS= :pRQ ");
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pRQ").Value = "1900-01-01 00:00:00.000";
DataSet dsCLHQExist = dberp.OpenDataSet(SQL);
Dictionary<string, object> dicCLHQExist = new Dictionary<string, object>();
for (int rExist = 0; rExist < dsCLHQExist.Tables[0].Rows.Count; rExist++)
{
string sExistID = dsCLHQExist.Tables[0].Rows[rExist]["XLXSCLHQ_BJCLID"].ToString().Trim();
if (!dicCLHQExist.ContainsKey(sExistID))
dicCLHQExist.Add(sExistID, null);
}
for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++)
{
sJGLBJCLID = dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim();
if (!dsBJCL.Tables[0].Rows[i]["XLXSBJCL_JGYBJCLID"].ToString().Trim().Equals(""))
{
sJGLBJCL = sJGLBJCL + dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim() + "、";
SQL.Clear();
//查询是否存在记录
SQL.Add("select 1 from XLXSCLHQ where XLXSCLHQ_JGBID =:pJGBID and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID ");
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pRQ").Value = "1900-01-01 00:00:00.000";
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
if (dicCLHQExist.ContainsKey(sJGLBJCLID))
{
SQL.Clear();
SQL.Add(" update XLXSCLHQ ");
@@ -9382,6 +9403,8 @@ public class XLJGB_JGFLDInfo
SQL.ParamByName("pBJCLID").Value = sJGLBJCLID;
SQL.ParamByName("pJGBID").Value = sJGBID;
dberp.ExecSQL(SQL);
if (!dicCLHQExist.ContainsKey(sJGLBJCLID))
dicCLHQExist.Add(sJGLBJCLID, null);
}
//更新或插入后处理加工料的HSJG、WSJG