北科工研-孙浩 3 hours ago
parent 23bde59546
commit 9fb0d490db

@ -15928,7 +15928,7 @@ namespace SlabHandle
}
//####头尾坯不能轧制 宽度大于2450的订单
if (BOI.ORD_WID > 2450)
if (BOI.ORD_WID >= 2450)
{
logger.InfoFormat(" ####头尾坯不能轧制 宽度大于2450的订单 :{0}-{1}", BOI.ORD_NO, BOI.ORD_ITEM);
return true;

@ -92,7 +92,7 @@ namespace SlabHandle
strSql.AppendLine("WHERE 1 = 1 ");
//TODO:测试数据
//strSql.AppendLine(" AND A.SLAB_NO = '2520150232'");
strSql.AppendLine(" AND A.SLAB_NO = '2530897033'");
/// strSql.AppendLine(" AND A.SLAB_NO = '2331114206'");

@ -19,40 +19,12 @@ namespace SlabHandle
public class SlabCoilService_test
{
private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
string slab_no = " ('2520506606')";
string ord_no = "('OME25060012-004'" +
",'OME25060012-004'" +
",'OME25060012-004'" +
",'OME25060012-004'" +
",'OME25060012-004'" +
",'OME25060012-004'" +
",'OME25060012-003'" +
",'EMC25060027-011'" +
",'EMC25060027-010'" +
",'EMC25050012-006'" +
",'EMC25050012-006'" +
",'EMC25050012-005'" +
",'EMC25050012-142'" +
",'EMC25050012-142'" +
",'EMC25050012-141'" +
",'EMC25050012-145'" +
",'EMC25050012-145'" +
",'EMC25050012-144'" +
",'EMC25050012-143'" +
",'EMC25050012-143'" +
",'EMC25050012-006'" +
",'OME25060011-002'" +
",'OME25060011-002'" +
",'OME25060011-001'" +
",'EMC25050012-146'" +
",'EMC25050012-146'" +
",'EMC25050012-141'" +
",'EMC25050012-141'" +
",'EMC25050012-004'" +
",'EMC25050012-004'" +
",'OME25060012-004'" +
",'OME25060012-004')";
string slab_no = " ('2530813935')";
string ord_no = "('EMC25080004-124'" +
",'EMC25080004-122'" +
",'OME25080006-186'" +
",'OME25080006-184')";

@ -929,17 +929,17 @@ namespace ibk.IPD.Controller.IPD_PS
if (intPLATE_DAYS_DIFF != 0)
{
//测试test指定
//strWHerePlate += " AND GP.PLATE_NO in ('25101286010101')";
strWHerePlate += " AND GP.PLATE_NO in ('25309251080101')";
strWHerePlate += " AND (GP.PROD_DATE > TO_CHAR(SYSdate + '" + intPLATE_DAYS_DIFF.ToString() + "' ,'yyyyMMdd') or GP.STLGRD in ( SELECT STLGRD FROM NISCO.QP_NISCO_CHMC WHERE STLGRD_FL='N' AND STLGRD IN('A20050NIQQT', 'A20051NIQQT', 'A20090NIQQT', 'A20092NIQQT', 'A20093NIQQT')))";
//strWHerePlate += " AND (GP.PROD_DATE > TO_CHAR(SYSdate + '" + intPLATE_DAYS_DIFF.ToString() + "' ,'yyyyMMdd') or GP.STLGRD in ( SELECT STLGRD FROM NISCO.QP_NISCO_CHMC WHERE STLGRD_FL='N' AND STLGRD IN('A20050NIQQT', 'A20051NIQQT', 'A20090NIQQT', 'A20092NIQQT', 'A20093NIQQT')))";
}
//余材自动替代周期
if (intORD_DAYS_DIFF != 0)
{ //测试test指定
//strWHereOrd += " AND boi.ORD_NO='OMB22110001' AND boi.ORD_ITEM='038'";
strWHereOrd += " AND boi.ORD_NO='OMB22110001' --AND boi.ORD_ITEM='038'";
strWHereOrd += " AND (boi.CUST_DEL_TO_DATE > TO_CHAR(SYSdate + '" + intORD_DAYS_DIFF.ToString() + "' ,'yyyyMMdd') or boi.STLGRD in ( SELECT STLGRD FROM NISCO.QP_NISCO_CHMC WHERE STLGRD_FL='N' AND STLGRD IN('A20050NIQQT','A20051NIQQT','A20090NIQQT','A20092NIQQT','A20093NIQQT'))) ";
//strWHereOrd += " AND (boi.CUST_DEL_TO_DATE > TO_CHAR(SYSdate + '" + intORD_DAYS_DIFF.ToString() + "' ,'yyyyMMdd') or boi.STLGRD in ( SELECT STLGRD FROM NISCO.QP_NISCO_CHMC WHERE STLGRD_FL='N' AND STLGRD IN('A20050NIQQT','A20051NIQQT','A20090NIQQT','A20092NIQQT','A20093NIQQT'))) ";
}
//获取特殊替代可替代订单数据
gltTBSpecialOrdYes = GetTbSpecialOrd("可替代");

@ -346,7 +346,7 @@ namespace ibk.IPD.Service.IPD_PS
//查询可用订单以及常用字段
//测试test指定
//strSql.AppendLine(" SELECT * from(");
strSql.AppendLine(" SELECT * from(");
strSql.AppendLine(" SELECT DISTINCT");
strSql.AppendLine(" ORD_REMARK.REMARK ,");
@ -519,7 +519,7 @@ namespace ibk.IPD.Service.IPD_PS
//strSql.AppendLine(", ORD_REMARK.REMARK ");
//测试test指定
//strSql.AppendLine(") where ORD_NO ='OML24050001' AND ORD_ITEM ='147' ");
strSql.AppendLine(") where ORD_NO ='OMB22110001' --AND ORD_ITEM ='147' ");
try
{
@ -877,7 +877,7 @@ namespace ibk.IPD.Service.IPD_PS
//查询语句日期时间拼接起来格式化成yyyy-mm-dd hh24:mi:ss PROD_WGT
//测试test指定
//strSql.AppendLine("SELECT * from(");
strSql.AppendLine("SELECT * from(");
strSql.AppendLine("SELECT");
strSql.AppendLine(" DISTINCT GP.PLATE_NO ");
@ -985,7 +985,7 @@ namespace ibk.IPD.Service.IPD_PS
strSql.AppendLine("ORDER BY GP.PLATE_NO");
//测试test指定
//strSql.AppendLine(") where PLATE_NO = '24102504620101'");
strSql.AppendLine(") where PLATE_NO = '25309251080101'");
try
{

@ -1069,6 +1069,11 @@ namespace ibk.IPD
{
try
{
//DZB 不并号,容易冲突
if (plate.PROC_CD=="DZB")
{
continue;
}
//并样存在不做并号
if (ipdi.Where(p => p.PLATE_NO == plate.PLATE_NO).Count() > 0)
{

@ -173,7 +173,7 @@ namespace ibk.IPD
strSql.AppendLine(" and length(PLATE_NO) =14 ");
//测试test
//strSql.AppendLine(" AND PLATE_NO in ('24302750010204') ");
//strSql.AppendLine(" AND PLATE_NO in ('24109735020603') ");
try

@ -44,5 +44,8 @@ namespace ibk.IPD.Entity.IpdPs
[Persistent("UPD_EMP"), DisplayName("修改人员")]
public string UPD_EMP { get; set; }
[Persistent("FCB_TD"), DisplayName("船板标准")]
public string FCB_TD { get; set; }
}
}

@ -2238,6 +2238,19 @@ namespace ibk.IPD.Controller.IPD_PS
}
}
}
//订单标准前面带G1 G2 G3 高表暂时不做切割,请后台管控下。
if (order.STDSPEC.StartsWith("G1-") || order.STDSPEC.StartsWith("G2-") || order.STDSPEC.StartsWith("G3-"))
{
if (itemGP_PLATE.APLY_STDSPEC == order.STDSPEC && itemGP_PLATE.SUB_FULL == "C")
{
}
else
{
continue;
}
}
//logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},存储临时表", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM);
//二次试样号先停
@ -3123,7 +3136,18 @@ namespace ibk.IPD.Controller.IPD_PS
}
}
}
//订单标准前面带G1 G2 G3 高表暂时不做切割,请后台管控下。
if (order.STDSPEC.StartsWith("G1-") || order.STDSPEC.StartsWith("G2-") || order.STDSPEC.StartsWith("G3-"))
{
if (itemGP_PLATE.APLY_STDSPEC == order.STDSPEC && itemGP_PLATE.SUB_FULL == "C")
{
}
else
{
continue;
}
}
//if(i==1)
//{
@ -7260,6 +7284,7 @@ namespace ibk.IPD.Controller.IPD_PS
//{
// return true;
//}
//船板
if (gQP_STD_HEAD.Where(p => p.STDSPEC == prP_PLATE.APLY_STDSPEC).ToList().Count == 0)
{
@ -7369,9 +7394,94 @@ namespace ibk.IPD.Controller.IPD_PS
prP_PLATE.SUB_LACK_CON = prP_PLATE.SUB_LACK_CON + "/标准";
}
//船板验证
if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && p.FCB_TD == "是").ToList().Count > 0)
{
//-对非船板替代的标准(标准表维护输入值为“是”)
//-厚度规格≤40mm;
//-碳当量CEQ≤0.44
//- 余材原因:厚度超下限(不替)
if (ConverDataToDecimal(prP_PLATE.THK) > 40)
{
return false;
}
//BAN 厚度超下限
//QQA 性能不合
if (prP_PLATE.WOO_RSN == "BAN"
|| prP_PLATE.WOO_RSN == "QQA"
|| prP_PLATE.WOO_RSN == "BAM"
|| prP_PLATE.WOO_RSN == "BAQ"
|| prP_PLATE.WOO_RSN == "AFB"
|| prP_PLATE.WOO_RSN == "QZE"
|| prP_PLATE.WOO_RSN == "QAF"
|| prP_PLATE.WOO_RSN == "DAA")
{
return false;
}
//获取炉号
string strHeatNo = gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).ToList().Count > 0 ? gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).ToList().First<FP_SLAB>().HEAT_NO : "";
List<QP_CHEM_RSLT> ltQPChemRslt = gQP_CHEM_RSLT.Where(p => p.HEAT_NO == strHeatNo && p.CHEM_COMP_CD.Contains("Ceq")).ToList();
if (ltQPChemRslt.Count() > 0)
{
foreach (var item in ltQPChemRslt)
{
if (ConverDataToDecimal(item.CHEM_RSLT) > ConverDataToDecimal(0.44))
{
return false;
}
}
}
else
{
return false;
}
////记录是船板
//prP_PLATE.SUB_LACK_CON = prP_PLATE.SUB_LACK_CON + "/船板";
return true;
}
//20240401 相同标准可替代
if (prorde.STDSPEC == prP_PLATE.APLY_STDSPEC)
{
if (prP_PLATE.SUB_FULL == "P")
{
if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList().Count > 0)
{
if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && ConverDataToString(p.TD_FL).Contains("完全")).ToList().Count > 0)
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
else
{
if (prP_PLATE.SUB_FULL == "C")
{
//logger.InfoFormat("余材:{0},订单:{1}-{2},标准相同可替代:{3}", prP_PLATE.PLATE_NO, prorde.ORD_NO, prorde.ORD_ITEM, prP_PLATE.APLY_STDSPEC);
return true;
}
else
{
return false;
}
}
}
List<YCTD_WH> ltPlateSTD = null;
//余材替代标准按照当前钢板标准来选择,不要按原始订单的标准 注:完全替代之前是按当前标准,现在部分替代一样,只用当前标准 --2023.3.16 刘桂英
ltPlateSTD = gYCTD_WHs.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList();
ltPlateSTD = gYCTD_WHs.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && ConverDataToString(p.FCB_TD) == "").ToList();
if (ltPlateSTD.Count == 0)
{
@ -7383,24 +7493,48 @@ namespace ibk.IPD.Controller.IPD_PS
//gCOM_DATA.Add(CD);//全局变量添加对不结果数据
//20240307 未维护标准信息
lock (LOCK)
{
if (gYCTD_WH_NO_TIME.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList().Count > 0)
{
//20240401注释 新增异标准维护程序
//lock (LOCK)
//{
// if ((prP_PLATE.APLY_STDSPEC.Contains("Q355") || prP_PLATE.APLY_STDSPEC.Contains("Q235")) && (prorde.STDSPEC.Contains("Q355") || prorde.STDSPEC.Contains("Q235")))
// {
// if (gYCTD_WH_NO_TIME.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC && p.TD_STANDARD_NO == prorde.STDSPEC).ToList().Count > 0)
// {
}
else
{
//logger.InfoFormat("余材:{0},订单:{1}-{2},标准:{3},标准未维护", prP_PLATE.PLATE_NO, prorde.ORD_NO, prorde.ORD_ITEM, prP_PLATE.APLY_STDSPEC);
YCTD_WH_NO_TIME yCTD_WH_NO = new YCTD_WH_NO_TIME();
yCTD_WH_NO.STANDARD_NO = prP_PLATE.APLY_STDSPEC;//标准号
yCTD_WH_NO.TD_STANDARD_NO = "";//替代标准
yCTD_WH_NO.TD_FL = "";
yCTD_WH_NO.INS_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");//:读取时间;
yCTD_WH_NO.UPD_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");
gYCTD_WH_NO_TIME.Add(yCTD_WH_NO);
}
}
// }
// else
// {
// YCTD_WH_NO_TIME yCTD_WH_NO = new YCTD_WH_NO_TIME();
// yCTD_WH_NO.STANDARD_NO = prP_PLATE.APLY_STDSPEC;//标准号
// //yCTD_WH_NO.TD_STANDARD_NO = "";//替代标准
// yCTD_WH_NO.TD_STANDARD_NO = prorde.STDSPEC;//替代标准
// yCTD_WH_NO.TD_FL = "";
// yCTD_WH_NO.INS_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");//:读取时间;
// yCTD_WH_NO.UPD_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");
// gYCTD_WH_NO_TIME.Add(yCTD_WH_NO);
// }
// }
// else
// {
// if (gYCTD_WH_NO_TIME.Where(p => p.STANDARD_NO == prP_PLATE.APLY_STDSPEC).ToList().Count > 0)
// {
// }
// else
// {
// //logger.InfoFormat("余材:{0},订单:{1}-{2},标准:{3},标准未维护", prP_PLATE.PLATE_NO, prorde.ORD_NO, prorde.ORD_ITEM, prP_PLATE.APLY_STDSPEC);
// YCTD_WH_NO_TIME yCTD_WH_NO = new YCTD_WH_NO_TIME();
// yCTD_WH_NO.STANDARD_NO = prP_PLATE.APLY_STDSPEC;//标准号
// yCTD_WH_NO.TD_STANDARD_NO = "";//替代标准
// yCTD_WH_NO.TD_FL = "";
// yCTD_WH_NO.INS_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");//:读取时间;
// yCTD_WH_NO.UPD_DATE = DateTime.Now.ToString("yyyyMMddHHmmss");
// gYCTD_WH_NO_TIME.Add(yCTD_WH_NO);
// }
// }
//}
return false;
}
@ -7412,7 +7546,6 @@ namespace ibk.IPD.Controller.IPD_PS
{
if (gYCTD_WHs.Where(p => p.TD_STANDARD_NO == prorde.STDSPEC && ConverDataToString(p.TD_FL).Contains("完全")).ToList().Count > 0)
{
return false;
}
else
@ -9214,6 +9347,18 @@ namespace ibk.IPD.Controller.IPD_PS
{
//if (prP_PLATE.APLY_STDSPEC.StartsWith("G1-") || prorder.STDSPEC.StartsWith("G1-"))
//特殊钢,只看订单
if (prorder.STDSPEC.StartsWith("G1-") || prorder.STDSPEC.StartsWith("G2-") || prorder.STDSPEC.StartsWith("G3-"))
{
if (prP_PLATE.APLY_STDSPEC == prorder.STDSPEC && prP_PLATE.SUB_FULL == "C")
{
return true;
}
else
{
return false;
}
}
if (prorder.STDSPEC.StartsWith("G1-"))
{
if (prP_PLATE.APLY_STDSPEC == prorder.STDSPEC && prP_PLATE.SUB_FULL == "C")

@ -27,7 +27,7 @@
</schedule>
<objects>
<object id="db" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.181)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.30)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
</object>
<object id="db_sur" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mes.nisco.cn)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ora9)));Connection Timeout=200; User Id=user3d;Password=bkd3dksh;" />

@ -46,5 +46,13 @@ namespace SlabHandle.Enity
//替代日期
[Persistent("PLT"), DisplayName("工厂")]
public string PLT { get; set; }
//人工吨数
[Persistent("WGT_M"), DisplayName("人工吨数")]
public decimal? WGT_M { get; set; }
//系统吨数
[Persistent("WGT_S"), DisplayName("系统吨数")]
public decimal? WGT_S { get; set; }
}
}

@ -26,8 +26,8 @@ namespace SlabHandle
{
private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//public static string StartDay = ConfigurationManager.AppSettings["StartDay"].ToString();
public static string end_time = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
public static string start_time = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
public static string end_time = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd");
public static string start_time = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd");
public static IList<TB_SUB_RESULT> GetHisC1RATE_ALL()
{
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
@ -43,7 +43,7 @@ namespace SlabHandle
try
{
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE ,'C1' PLT ");
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT,SUM(wgt_M) AS wgt_M,SUM(wgt_S) AS wgt_S, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE ,'C1' PLT ");
strSql.AppendLine("FROM ");
strSql.AppendLine("( ");
strSql.AppendLine("select count(case when UPD_PGMID LIKE 'ACE%' then 1 else null end) ManmMde_COUNT ");
@ -52,6 +52,8 @@ namespace SlabHandle
strSql.AppendLine(",case when sum(case when UPD_PGMID IN ('WEC4005C') then wgt2 else 0 end ) != 0 then sum(case when UPD_PGMID IN ('WEC4005C') then wgt1 else 0 end )/ sum(case when UPD_PGMID IN('WEC4005C') then wgt2 else 0 end ) else 0 end SYS_Yield ");
strSql.AppendLine(",case when count(1) != 0 then count(case when UPD_PGMID IN ('WEC4005C') then 1 else null end)/ count(1) else 0 end SYS_PERCENT ");
strSql.AppendLine(", TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') SUB_DATE ");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID LIKE 'ACE%' THEN wgt1 END) wgt_M");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID IN('WEC4005C') THEN wgt1 END) wgt_S");
strSql.AppendLine("from(select p.* ");
strSql.AppendLine(", (select sum(WGT) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ != '00' AND FSD.SEQ != '00') wgt1 ");
strSql.AppendLine(",(select sum(slab_wgt) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ = '00' AND FSD.SEQ = '00' AND FSD.PROC_CD != 'CAC') wgt2 ");
@ -74,7 +76,8 @@ namespace SlabHandle
strSql.AppendLine("GROUP BY TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine("order by TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine(") ");
strSql.AppendLine("GROUP BY SUB_DATE, ManmMde_COUNT, SYS_COUNT, ManmMde_Yield, SYS_Yield, SYS_PERCENT ");
strSql.AppendLine("ORDER BY SUB_DATE ");
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db_sur"))
{
@ -176,7 +179,7 @@ namespace SlabHandle
try
{
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE,'C2' PLT ");
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT,SUM(wgt_M) AS wgt_M,SUM(wgt_S) AS wgt_S, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE,'C2' PLT ");
strSql.AppendLine("FROM ");
strSql.AppendLine("( ");
strSql.AppendLine("select count(case when UPD_PGMID LIKE 'WEF%' then 1 else null end) ManmMde_COUNT ");
@ -185,6 +188,8 @@ namespace SlabHandle
strSql.AppendLine(",case when sum(case when UPD_PGMID IN ('WEC4004C') then wgt2 else 0 end ) != 0 then sum(case when UPD_PGMID IN ('WEC4004C') then wgt1 else 0 end )/ sum(case when UPD_PGMID IN('WEC4004C') then wgt2 else 0 end ) else 0 end SYS_Yield ");
strSql.AppendLine(",case when count(1) != 0 then count(case when UPD_PGMID IN ('WEC4004C') then 1 else null end)/ count(1) else 0 end SYS_PERCENT ");
strSql.AppendLine(", TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') SUB_DATE ");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID LIKE 'WEF%' THEN wgt1 END) wgt_M");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID IN('WEC4004C') THEN wgt1 END) wgt_S");
strSql.AppendLine("from(select p.* ");
strSql.AppendLine(", (select sum(WGT) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ != '00' AND FSD.SEQ != '00') wgt1 ");
strSql.AppendLine(",(select sum(slab_wgt) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ = '00' AND FSD.SEQ = '00' AND FSD.PROC_CD != 'CAC') wgt2 ");
@ -206,7 +211,8 @@ namespace SlabHandle
strSql.AppendLine("GROUP BY TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine("order by TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine(") ");
strSql.AppendLine("GROUP BY SUB_DATE, ManmMde_COUNT, SYS_COUNT, ManmMde_Yield, SYS_Yield, SYS_PERCENT ");
strSql.AppendLine("ORDER BY SUB_DATE ");
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db_sur"))
{
@ -249,7 +255,7 @@ namespace SlabHandle
try
{
//每个日期统计数量
foreach (SLAB_DATE iSlabDate in ltSlabDate.Where(p => p.INS_DATE == iDate.INS_DATE).OrderBy(p=>p.MAT_NO).ToList())
foreach (SLAB_DATE iSlabDate in ltSlabDate.Where(p => p.INS_DATE == iDate.INS_DATE).OrderBy(p => p.MAT_NO).ToList())
{
//没有记录 减一
@ -309,7 +315,7 @@ namespace SlabHandle
try
{
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE,'C3' PLT ");
strSql.AppendLine(" SELECT ManmMde_COUNT, SYS_COUNT,SUM(wgt_M) AS wgt_M,SUM(wgt_S) AS wgt_S, nvl(TO_CHAR(ManmMde_Yield * 100, 'FM9999999990.00'), 0) ManmMde_Yield, nvl(TO_CHAR(SYS_Yield * 100, 'FM9999999990.00'), 0) SYS_Yield, nvl(TO_CHAR(SYS_PERCENT * 100, 'FM9999999990.00'), 0) SYS_PERCENT , SUB_DATE,'C3' PLT ");
strSql.AppendLine("FROM ");
strSql.AppendLine("( ");
strSql.AppendLine("select count(case when UPD_PGMID LIKE 'CEF%' then 1 else null end) ManmMde_COUNT ");
@ -318,6 +324,9 @@ namespace SlabHandle
strSql.AppendLine(",case when sum(case when UPD_PGMID IN ('WEC4003C') then wgt2 else 0 end ) != 0 then sum(case when UPD_PGMID IN ('WEC4003C') then wgt1 else 0 end )/ sum(case when UPD_PGMID IN('WEC4003C') then wgt2 else 0 end ) else 0 end SYS_Yield ");
strSql.AppendLine(",case when count(1) != 0 then count(case when UPD_PGMID IN ('WEC4003C') then 1 else null end)/ count(1) else 0 end SYS_PERCENT ");
strSql.AppendLine(", TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') SUB_DATE ");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID LIKE 'CEF%' THEN wgt1 END) wgt_M");
strSql.AppendLine(",SUM(CASE WHEN UPD_PGMID IN('WEC4003C') THEN wgt1 END) wgt_S");
strSql.AppendLine("from(select p.* ");
strSql.AppendLine(", (select sum(WGT) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ != '00' AND FSD.SEQ != '00') wgt1 ");
strSql.AppendLine(",(select sum(slab_wgt) from nisco.FP_slab_des FSD where FSD.slab_no = P.MAT_NO AND FSD.BLOCK_SEQ = '00' AND FSD.SEQ = '00' AND FSD.PROC_CD != 'CAC') wgt2 ");
@ -340,7 +349,8 @@ namespace SlabHandle
strSql.AppendLine("GROUP BY TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine("order by TO_CHAR(TO_DATE(ins_date, 'yyyy-MM-dd HH24:mi:ss'), 'yyyy-MM-dd') ");
strSql.AppendLine(") ");
strSql.AppendLine("GROUP BY SUB_DATE, ManmMde_COUNT, SYS_COUNT, ManmMde_Yield, SYS_Yield, SYS_PERCENT ");
strSql.AppendLine("ORDER BY SUB_DATE ");
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db_sur"))
{
@ -504,6 +514,31 @@ namespace SlabHandle
}
}
}
public static void UpdateInfo(IList<TB_SUB_RESULT> ltFSD)
{
using (IDbContext db = ObjectContainer.GetObject<IDbContext>("db"))
{
try
{
//因为是同时操作两个表, 所以开启事务
db.BeginTransaction();
foreach (var item in ltFSD)
{
db.Execute("UPDATE TB_SUB_RESULT SET WGT_M='" + item.WGT_M + "',WGT_S='" + item.WGT_S + "' WHERE PLT='" + item.PLT + "' AND SUB_DATE='" + item.SUB_DATE + "'");
}
//db.Execute("UPDATE TB_SUB_RESULT SET WGT_M='" + ltFSD"'");
db.Commit();
}
catch (Exception ex)
{
//数据如果发生错误则回滚
db.Rollback();
logger.ErrorFormat("存储错误!信息:{0}", ex.ToString());
}
}
}
#region 方法

@ -100,12 +100,16 @@ namespace SlabHandle
{
if (tB_SUB_RESULTs_HIS.Where(p => p.SUB_DATE == INS_DATE).Count() > 0)
{
logger.Info("删除"+ INS_DATE+"数据");
logger.Info("删除" + INS_DATE + "数据");
SlabNumService.deleteInfo(INS_DATE);
}
logger.Info("插入" + INS_DATE + "数据");
SlabNumService.SaveInfo(tB_SUB_RESULTs.Where(p=>p.SUB_DATE== INS_DATE).ToList());
SlabNumService.SaveInfo(tB_SUB_RESULTs.Where(p => p.SUB_DATE == INS_DATE).ToList());
}
//SlabNumService.UpdateInfo(tB_SUB_RESULTs);
}

@ -27,7 +27,7 @@
</schedule>
<objects>
<object id="db" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.181)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.30)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
</object>
<object id="db_sur" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mes.nisco.cn)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ora9)));Connection Timeout=200; User Id=user3d;Password=bkd3dksh;" />
@ -113,6 +113,8 @@
<add key="FAC_ID" value="C3" />
<add key="HB" value="2" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<add key="StartDay" value="0" />
<add key="EndDay" value="0" />
</appSettings>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">

@ -1 +1 @@
123ee2c6ff412bb1bc2055e1576e5777b6ece3e1
bc924b3d52651b206582dd4343a6600f5a29804c

@ -61,3 +61,23 @@ D:\新建文件夹\ipd-file\SubResult\SubResult\obj\Debug\SubResult.csproj.CoreC
D:\新建文件夹\ipd-file\SubResult\SubResult\obj\Debug\SubResult.csproj.CopyComplete
D:\新建文件夹\ipd-file\SubResult\SubResult\obj\Debug\SubResult.exe
D:\新建文件夹\ipd-file\SubResult\SubResult\obj\Debug\SubResult.pdb
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.exe
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.pdb
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\log4net.config
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\SubResult.exe.config
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\SubResult.exe
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\SubResult.pdb
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\Google.OrTools.x86.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\Google.OrTools.x86.pdb
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\Google.Protobuf.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\Newtonsoft.Json.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\System.Buffers.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\System.Memory.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\System.Net.Http.Formatting.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\System.Numerics.Vectors.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.csproj.AssemblyReference.cache
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.csproj.SuggestedBindingRedirects.cache
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.exe.config
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.csproj.CoreCompileInputs.cache
D:\_NG_1\NG_Project\统计程序\SubResult\SubResult\obj\Debug\SubResult.csproj.CopyComplete

@ -27,7 +27,7 @@
</schedule>
<objects>
<object id="db" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.181)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.63.30)(PORT=9910))) (CONNECT_DATA=(SERVICE_NAME=orcl)));Connection Timeout=200; User Id=ipd_test;Password=iet_ipd;" />
</object>
<object id="db_sur" type="SOA.Persistent.OracleDataStore, SOA.Persistent" scope="prototype">
<constructor-arg value="Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mes.nisco.cn)(PORT=1521))) (CONNECT_DATA=(SERVICE_NAME=ora9)));Connection Timeout=200; User Id=user3d;Password=bkd3dksh;" />
@ -113,6 +113,8 @@
<add key="FAC_ID" value="C3" />
<add key="HB" value="2" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
<add key="StartDay" value="0" />
<add key="EndDay" value="0" />
</appSettings>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">

@ -1,24 +1,24 @@
{
"format": 1,
"restore": {
"D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj": {}
"D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj": {}
},
"projects": {
"D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj": {
"D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj",
"projectUniqueName": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj",
"projectName": "SubResult",
"projectPath": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj",
"packagesPath": "C:\\Users\\sukura\\.nuget\\packages\\",
"outputPath": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\obj\\",
"projectPath": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj",
"packagesPath": "C:\\Users\\vaibl\\.nuget\\packages\\",
"outputPath": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\obj\\",
"projectStyle": "PackageReference",
"skipContentFileWrite": true,
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\sukura\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\vaibl\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@ -53,6 +53,9 @@
"win": {
"#import": []
},
"win-arm64": {
"#import": []
},
"win-x64": {
"#import": []
},

@ -5,12 +5,12 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\sukura\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\vaibl\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.3.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\sukura\.nuget\packages\" />
<SourceRoot Include="C:\Users\vaibl\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
</ItemGroup>
</Project>

@ -75,6 +75,40 @@
}
}
},
".NETFramework,Version=v4.7.2/win-arm64": {
"Google.OrTools.runtime.win-x64/9.5.2237": {
"type": "package"
},
"Google.OrTools.x86/5.0.6170.24109": {
"type": "package",
"dependencies": {
"Google.Protobuf": "3.0.0"
},
"compile": {
"lib/net40/Google.OrTools.x86.dll": {
"related": ".pdb"
}
},
"runtime": {
"lib/net40/Google.OrTools.x86.dll": {
"related": ".pdb"
}
}
},
"Google.Protobuf/3.0.0": {
"type": "package",
"compile": {
"lib/net45/Google.Protobuf.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net45/Google.Protobuf.dll": {
"related": ".xml"
}
}
}
},
".NETFramework,Version=v4.7.2/win-x64": {
"Google.OrTools.runtime.win-x64/9.5.2237": {
"type": "package",
@ -197,24 +231,24 @@
]
},
"packageFolders": {
"C:\\Users\\sukura\\.nuget\\packages\\": {},
"C:\\Users\\vaibl\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj",
"projectUniqueName": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj",
"projectName": "SubResult",
"projectPath": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj",
"packagesPath": "C:\\Users\\sukura\\.nuget\\packages\\",
"outputPath": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\obj\\",
"projectPath": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj",
"packagesPath": "C:\\Users\\vaibl\\.nuget\\packages\\",
"outputPath": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\obj\\",
"projectStyle": "PackageReference",
"skipContentFileWrite": true,
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\sukura\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\vaibl\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
@ -249,6 +283,9 @@
"win": {
"#import": []
},
"win-arm64": {
"#import": []
},
"win-x64": {
"#import": []
},

@ -1,12 +1,12 @@
{
"version": 2,
"dgSpecHash": "GdS9+eXkcK+k8BoR8XxSL9wWeKyCgyZJ7Gvd0L5SPjwsKP3ZYmsppbHAGwN1TFEo6Wn8RARs/Nqm6EqiUeYz2Q==",
"dgSpecHash": "DVuRPvKtw27vsJZwXE0XDIaGNcuqFDTBHG5s4PuYuI8v9OPNAelq3zhjviz4VSvjTZQ3Xo1KC6N15RKQJEqnLA==",
"success": true,
"projectFilePath": "D:\\新建文件夹\\ipd-file\\SubResult\\SubResult\\SubResult.csproj",
"projectFilePath": "D:\\_NG_1\\NG_Project\\统计程序\\SubResult\\SubResult\\SubResult.csproj",
"expectedPackageFiles": [
"C:\\Users\\sukura\\.nuget\\packages\\google.ortools.runtime.win-x64\\9.5.2237\\google.ortools.runtime.win-x64.9.5.2237.nupkg.sha512",
"C:\\Users\\sukura\\.nuget\\packages\\google.ortools.x86\\5.0.6170.24109\\google.ortools.x86.5.0.6170.24109.nupkg.sha512",
"C:\\Users\\sukura\\.nuget\\packages\\google.protobuf\\3.0.0\\google.protobuf.3.0.0.nupkg.sha512"
"C:\\Users\\vaibl\\.nuget\\packages\\google.ortools.runtime.win-x64\\9.5.2237\\google.ortools.runtime.win-x64.9.5.2237.nupkg.sha512",
"C:\\Users\\vaibl\\.nuget\\packages\\google.ortools.x86\\5.0.6170.24109\\google.ortools.x86.5.0.6170.24109.nupkg.sha512",
"C:\\Users\\vaibl\\.nuget\\packages\\google.protobuf\\3.0.0\\google.protobuf.3.0.0.nupkg.sha512"
],
"logs": []
}
Loading…
Cancel
Save