diff --git a/余坯替代——中板/SlabHandle/.vs/SlabHandle/v17/.suo b/余坯替代——中板/SlabHandle/.vs/SlabHandle/v17/.suo index 9944c56..9b67113 100644 Binary files a/余坯替代——中板/SlabHandle/.vs/SlabHandle/v17/.suo and b/余坯替代——中板/SlabHandle/.vs/SlabHandle/v17/.suo differ diff --git a/余坯替代——中板/SlabHandle/SlabHandle/SlabControler.cs b/余坯替代——中板/SlabHandle/SlabHandle/SlabControler.cs index 90741e4..87dd8b1 100644 --- a/余坯替代——中板/SlabHandle/SlabHandle/SlabControler.cs +++ b/余坯替代——中板/SlabHandle/SlabHandle/SlabControler.cs @@ -339,7 +339,6 @@ namespace SlabHandle try { - glLtPlateFilter = new List(); glFbSlabDes_T = new List(); @@ -767,12 +766,19 @@ namespace SlabHandle //////根据宽度做分组多线程 SetPlateGroupTask(gltTbPlateGrp, iSlab); + //if (iSlab.SLAB_NO.Contains("2420317") && iSlab.STEEL_GRD_DETAIL.Contains("S355J-2")) + //{ + // iSlab.ORD_NO = "OMK24040059"; + // iSlab.ORD_ITEM = "015"; + //} + + //var lt = gltTbPlateUseGrp.Where(p => p.CRU_PIEs.Where(e => e.Order.STDSPEC.Contains("-SANY")).Count() > 0); + + //if (gltTbPlateUseGrp.Where(p => p.CRU_PIEs.Where(e => e.Order.STDSPEC.Contains("-SANY")).Count() > 0).Count()>0) + //{ + + //} - if (iSlab.SLAB_NO.Contains("2420317") && iSlab.STEEL_GRD_DETAIL.Contains("S355J-2")) - { - iSlab.ORD_NO = "OMK24040059"; - iSlab.ORD_ITEM = "015"; - } //分析数据 if (glStrAnalyse == "1") { @@ -1466,7 +1472,7 @@ namespace SlabHandle try { //OM423070031 004 005 - if (iPlateGrp.CRU_PIEs.Where(p => p.ORD_NO == "OMC24050001" && p.ORD_ITEM == "017").Count() > 0) + if (iPlateGrp.CRU_PIEs.Where(p => p.ORD_NO == "OMK24050015" && p.ORD_ITEM == "009").Count() > 0) { } //GB / T713 - Q245R @@ -1712,7 +1718,7 @@ namespace SlabHandle continue; } - if (iPlateFic.ORD_NO == "OMK23110028" && iPlateFic.ORD_ITEM == "004") + if (iPlateFic.ORD_NO == "OMK24050015" && iPlateFic.ORD_ITEM == "009") { } @@ -15564,7 +15570,7 @@ namespace SlabHandle } //修改一下程序管控,轧制标准号后缀-SANY ,次头尾坯不能替代,现在头尾坯是管控的,因为有G1,次头尾坯也要管控住 2024-05-06 武振 - if (BOI.STDSPEC == "-SANY" ) + if (BOI.STDSPEC.Contains("-SANY") ) { logger.InfoFormat(" ####次头尾坯不能轧制 -SANY :{0}-{1}", BOI.ORD_NO, BOI.ORD_ITEM); return true; diff --git a/余坯替代——中板/SlabHandle/SlabHandle/SlabService.cs b/余坯替代——中板/SlabHandle/SlabHandle/SlabService.cs index 37d0033..4d7c98b 100644 --- a/余坯替代——中板/SlabHandle/SlabHandle/SlabService.cs +++ b/余坯替代——中板/SlabHandle/SlabHandle/SlabService.cs @@ -96,13 +96,13 @@ namespace SlabHandle /// strSql.AppendLine(" AND A.SLAB_NO = '2331114206'"); - //strSql.AppendLine(" AND A.SLAB_NO IN ('2410328131'"); - //strSql.AppendLine(",'2420364440'"); - ////strSql.AppendLine(",'2331085505'"); - ////strSql.AppendLine(",'2331085504'"); - ////strSql.AppendLine(",'2331085503'"); + //strSql.AppendLine(" AND A.SLAB_NO IN ('2430408333'"); + //strSql.AppendLine(",'2430408334'"); + //strSql.AppendLine(",'2430408335'"); + //strSql.AppendLine(",'2420426231'"); + //strSql.AppendLine(",'2420426232'"); ////strSql.AppendLine(",'2331085601'"); - //strSql.AppendLine(",'2430306439')"); + //strSql.AppendLine(",'2430408336')"); //strSql.AppendLine(" AND A.SLAB_NO IN ( "); diff --git a/余坯替代——中板/SlabHandle/SlabHandle/SlabServiceTest.cs b/余坯替代——中板/SlabHandle/SlabHandle/SlabServiceTest.cs index f396126..171747b 100644 --- a/余坯替代——中板/SlabHandle/SlabHandle/SlabServiceTest.cs +++ b/余坯替代——中板/SlabHandle/SlabHandle/SlabServiceTest.cs @@ -90,7 +90,7 @@ namespace SlabHandle strSql.AppendLine("WHERE 1 = 1 "); ////TODO:测试数据 - strSql.AppendLine(" AND A.SLAB_NO = '2310768931'"); + strSql.AppendLine(" AND A.SLAB_NO = '2430408334'"); //if (strWHere != string.Empty) //{ @@ -194,38 +194,39 @@ namespace SlabHandle strSql.AppendLine(" SELECT* FROM(SELECT QQM.*,"); strSql.AppendLine(" rank() over(partition by QQM.ord_no, QQM.ord_item order by knd desc) rk"); strSql.AppendLine(" from NISCO.QP_QLTY_MATR QQM "); - strSql.AppendLine(" where(QQM.ORD_NO || '-' || QQM.ORD_ITEM) IN( "); - strSql.AppendLine(" 'OMK24040013-005' "); + //strSql.AppendLine(" where(QQM.ORD_NO || '-' || QQM.ORD_ITEM) IN( "); + strSql.AppendLine(" where(QQM.ORD_NO, QQM.ORD_ITEM) IN( "); + //strSql.AppendLine(" 'OMK24050015-009' "); //OMK24010042-002 - //strSql.AppendLine(" SELECT "); - //strSql.AppendLine(" TO_CHAR(BOI.ORD_NO), TO_CHAR(BOI.ORD_ITEM) "); - //strSql.AppendLine("FROM NISCO.cp_prc CPP "); - //strSql.AppendLine("INNER JOIN "); - //strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); - //strSql.AppendLine("ON BOI.ORD_NO = CPP.ORD_NO "); - //strSql.AppendLine("AND BOI.ORD_ITEM = CPP.ORD_ITEM "); - //strSql.AppendLine("AND BOI.ORD_WID<> 0 "); - //strSql.AppendLine("AND BOI.ORD_LEN<> 0 "); - //strSql.AppendLine("AND BOI.ORD_THK<> 0 "); - //strSql.AppendLine("WHERE 1=1 ");// ROUND(CPP.ORD_REM_WGT / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 1"); - //strSql.AppendLine(" AND "); - //strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); - //strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); - //strSql.AppendLine(" WHERE "); - //strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); - //strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); - //strSql.AppendLine(" AND A.SEQ >= '01' "); - //strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); - //strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85) )>= 0.95"); - //strSql.AppendLine(" AND boi.PROD_CD = 'PP' "); - //strSql.AppendLine(" AND boi.REC_STS = '2' "); - //strSql.AppendLine(" and boi.ORD_STS IN('E') "); - //strSql.AppendLine(" AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); - //strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); - //strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); - //strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); + strSql.AppendLine(" SELECT "); + strSql.AppendLine(" TO_CHAR(BOI.ORD_NO), TO_CHAR(BOI.ORD_ITEM) "); + strSql.AppendLine("FROM NISCO.cp_prc CPP "); + strSql.AppendLine("INNER JOIN "); + strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); + strSql.AppendLine("ON BOI.ORD_NO = CPP.ORD_NO "); + strSql.AppendLine("AND BOI.ORD_ITEM = CPP.ORD_ITEM "); + strSql.AppendLine("AND BOI.ORD_WID<> 0 "); + strSql.AppendLine("AND BOI.ORD_LEN<> 0 "); + strSql.AppendLine("AND BOI.ORD_THK<> 0 "); + strSql.AppendLine("WHERE 1=1 ");// ROUND(CPP.ORD_REM_WGT / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 1"); + strSql.AppendLine(" AND "); + strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); + strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); + strSql.AppendLine(" WHERE "); + strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); + strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); + strSql.AppendLine(" AND A.SEQ >= '01' "); + strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); + strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85) )>= 0.95"); + strSql.AppendLine(" AND boi.PROD_CD = 'PP' "); + strSql.AppendLine(" AND boi.REC_STS = '2' "); + strSql.AppendLine(" and boi.ORD_STS IN('E') "); + strSql.AppendLine(" AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); + strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); + strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); + strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); strSql.AppendLine(" )"); strSql.AppendLine(") T WHERE T.RK = 1"); try @@ -355,24 +356,25 @@ namespace SlabHandle strSql.AppendLine("WHERE 1 = 1 "); - strSql.AppendLine(" AND BOI.ORD_NO || '-' || BOI.ORD_ITEM IN ('OMK24040013-005')"); - - //strSql.AppendLine(" AND "); - //strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); - //strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); - //strSql.AppendLine(" WHERE "); - //strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); - //strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); - //strSql.AppendLine(" AND A.SEQ >= '01' "); - //strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); - //strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 0.95"); - //strSql.AppendLine(" AND boi.PROD_CD = 'PP' "); - //strSql.AppendLine("AND boi.REC_STS = '2' "); - //strSql.AppendLine("and boi.ORD_STS IN('E') "); - //strSql.AppendLine("AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); - //strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); - //strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); - //strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); + //strSql.AppendLine(" AND BOI.ORD_NO || '-' || BOI.ORD_ITEM IN ('OMK24050015-009')"); //OMK24050015 009 + + + strSql.AppendLine(" AND "); + strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); + strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); + strSql.AppendLine(" WHERE "); + strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); + strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); + strSql.AppendLine(" AND A.SEQ >= '01' "); + strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); + strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 0.95"); + strSql.AppendLine(" AND boi.PROD_CD = 'PP' "); + strSql.AppendLine("AND boi.REC_STS = '2' "); + strSql.AppendLine("and boi.ORD_STS IN('E') "); + strSql.AppendLine("AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); + strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); + strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); + strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); try { @@ -406,34 +408,34 @@ namespace SlabHandle IList orderChemistrys = new List(); strSql.AppendLine("SELECT T.*FROM("); - strSql.AppendLine("SELECT QQC.*, rank() over(partition by QQC.ord_no, QQC.ord_item order by knd desc) rk from NISCO.QP_QLTY_CHEM QQC where (QQC.ORD_NO || '-' || QQC.ORD_ITEM) IN("); - strSql.AppendLine(" 'OMK24040013-005'"); - //strSql.AppendLine("SELECT"); - //strSql.AppendLine("TO_CHAR(BOI.ORD_NO), TO_CHAR(BOI.ORD_ITEM)"); - //strSql.AppendLine("FROM NISCO.cp_prc CPP "); - //strSql.AppendLine("INNER JOIN "); - //strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); - //strSql.AppendLine("ON BOI.ORD_NO = CPP.ORD_NO "); - //strSql.AppendLine("AND BOI.ORD_ITEM = CPP.ORD_ITEM "); - //strSql.AppendLine("AND BOI.ORD_WID <> 0 "); - //strSql.AppendLine("AND BOI.ORD_LEN <> 0 "); - //strSql.AppendLine("AND BOI.ORD_THK <> 0 "); - //strSql.AppendLine(" WHERE 1=1 AND "); - //strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); - //strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); - //strSql.AppendLine(" WHERE "); - //strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); - //strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); - //strSql.AppendLine(" AND A.SEQ >= '01' "); - //strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); - //strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 0.95"); - //strSql.AppendLine("AND boi.PROD_CD = 'PP'"); - //strSql.AppendLine("AND boi.REC_STS = '2' "); - //strSql.AppendLine("and boi.ORD_STS IN('E') "); - //strSql.AppendLine("AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); - //strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); - //strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); - //strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); + strSql.AppendLine("SELECT QQC.*, rank() over(partition by QQC.ord_no, QQC.ord_item order by knd desc) rk from NISCO.QP_QLTY_CHEM QQC where (QQC.ORD_NO , QQC.ORD_ITEM) IN("); + //strSql.AppendLine(" 'OMK24050015-009'"); + strSql.AppendLine("SELECT"); + strSql.AppendLine("TO_CHAR(BOI.ORD_NO), TO_CHAR(BOI.ORD_ITEM)"); + strSql.AppendLine("FROM NISCO.cp_prc CPP "); + strSql.AppendLine("INNER JOIN "); + strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); + strSql.AppendLine("ON BOI.ORD_NO = CPP.ORD_NO "); + strSql.AppendLine("AND BOI.ORD_ITEM = CPP.ORD_ITEM "); + strSql.AppendLine("AND BOI.ORD_WID <> 0 "); + strSql.AppendLine("AND BOI.ORD_LEN <> 0 "); + strSql.AppendLine("AND BOI.ORD_THK <> 0 "); + strSql.AppendLine(" WHERE 1=1 AND "); + strSql.AppendLine(" (SELECT COUNT(A.REQ_SEQ_NO) "); + strSql.AppendLine(" FROM NISCO.EP_REQ_SLAB_D A, NISCO.EP_REQ_SLAB B"); + strSql.AppendLine(" WHERE "); + strSql.AppendLine(" 1 = 1 AND A.ORD_NO = BOI.ORD_NO AND A.ORD_ITEM = BOI.ORD_ITEM"); + strSql.AppendLine(" AND A.BLOCK_SEQ >= '01' "); + strSql.AppendLine(" AND A.SEQ >= '01' "); + strSql.AppendLine(" And B.REQ_SEQ_NO = A.REQ_SEQ_NO "); + strSql.AppendLine(" AND B.REC_STS = '1') + GREATEST(0, (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / (((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85)) >= 0.95"); + strSql.AppendLine("AND boi.PROD_CD = 'PP'"); + strSql.AppendLine("AND boi.REC_STS = '2' "); + strSql.AppendLine("and boi.ORD_STS IN('E') "); + strSql.AppendLine("AND (boi.ord_knd ='A' OR (boi.ord_knd ='T' AND (SELECT COUNT(*) FROM NISCO.BP_ODER_XY BOXY WHERE BOXY.ORDER_NO=BOI.ORD_NO AND BOXY.ORDER_ITEM=BOI.ORD_ITEM )>0)) "); + strSql.AppendLine("AND boi.CFM_MILL_PLT='C3' "); + strSql.AppendLine("AND (boi.ORD_NO NOT LIKE 'OMZ%' OR (boi.ORD_NO LIKE 'OMZ%' AND boi.STDSPEC LIKE '%KRZN-A%'))"); + strSql.AppendLine("AND((BOI.CUST_DEL_TO_DATE > TO_CHAR(SYSDATE - 183, 'YYYYMMdd')) OR(boi.ORD_NO LIKE 'OMA%'))"); strSql.AppendLine(") "); strSql.AppendLine(" AND QQC.KND IN ('1','2') ) T WHERE T.rk = 1 "); @@ -1285,7 +1287,7 @@ namespace SlabHandle strSql.AppendLine("LEFT JOIN NISCO.QP_NISCO_CHMC QNC ON QNC.STLGRD = A.STLGRD"); strSql.AppendLine("WHERE 1 = 1 "); - strSql.AppendLine(" AND A.SLAB_NO = '2310768931 '"); + strSql.AppendLine(" AND A.SLAB_NO = '2430408334 '"); //strSql.AppendLine(" AND (A.CUR_INV IN('ZB','ZZ','HB','B1','52','C7','HC') " + @@ -1360,7 +1362,7 @@ namespace SlabHandle strSql.AppendLine(" FROM NISCO.FP_SLAB fs "); strSql.AppendLine(" START WITH fs.SLAB_NO "); strSql.AppendLine(" IN "); - strSql.AppendLine(" ( '2310768931 ' "); + strSql.AppendLine(" ( '2430408334 ' "); //strSql.AppendLine(" SELECT DISTINCT A.SLAB_NO "); @@ -1485,7 +1487,7 @@ namespace SlabHandle strSql.AppendLine(" FROM NISCO.FP_SLAB fs "); strSql.AppendLine(" START WITH fs.SLAB_NO "); strSql.AppendLine(" IN "); - strSql.AppendLine(" ( '2310768931 ' "); + strSql.AppendLine(" ( '2430408334 ' "); //strSql.AppendLine(" SELECT DISTINCT A.SLAB_NO "); diff --git a/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.exe b/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.exe index 92749df..d2656b4 100644 Binary files a/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.exe and b/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.exe differ diff --git a/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.pdb b/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.pdb index f51adbc..c17b638 100644 Binary files a/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.pdb and b/余坯替代——中板/SlabHandle/SlabHandle/bin/Debug/SlabHandle.pdb differ diff --git a/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.exe b/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.exe index 92749df..d2656b4 100644 Binary files a/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.exe and b/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.exe differ diff --git a/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.pdb b/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.pdb index f51adbc..c17b638 100644 Binary files a/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.pdb and b/余坯替代——中板/SlabHandle/SlabHandle/obj/Debug/SlabHandle.pdb differ diff --git a/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo b/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo index c0e1e8d..42012d9 100644 Binary files a/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo and b/余坯替代——宽板/SlabWidThkHandle/.vs/SlabHandle/v17/.suo differ diff --git a/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo b/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo index 4f850d3..791e3f7 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo and b/余坯替代——板卷/SlabCoilHandle/.vs/SlabHandle/v17/.suo differ diff --git a/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.exe b/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.exe index 900d9f8..933fb30 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.exe and b/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.exe differ diff --git a/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.pdb b/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.pdb index bd431dc..a3247d7 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.pdb and b/余坯替代——板卷/SlabCoilHandle/SlabHandle/bin/Debug/SlabHandle.pdb differ diff --git a/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.exe b/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.exe index 900d9f8..933fb30 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.exe and b/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.exe differ diff --git a/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.pdb b/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.pdb index bd431dc..a3247d7 100644 Binary files a/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.pdb and b/余坯替代——板卷/SlabCoilHandle/SlabHandle/obj/Debug/SlabHandle.pdb differ diff --git a/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/FileContentIndex/d042461e-4b45-4ef0-bce5-7ba149a76a5e.vsidx b/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/FileContentIndex/d042461e-4b45-4ef0-bce5-7ba149a76a5e.vsidx deleted file mode 100644 index 1c83c6b..0000000 Binary files a/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/FileContentIndex/d042461e-4b45-4ef0-bce5-7ba149a76a5e.vsidx and /dev/null differ diff --git a/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/v17/.suo b/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/v17/.suo index f83937b..90e5b87 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/v17/.suo and b/余材异标准维护/PlateAnalysisStandard/.vs/PlateAnalysisStandard/v17/.suo differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/BP_ORDER_ITEM.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/BP_ORDER_ITEM.cs index 8e0cdb4..84b8538 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/BP_ORDER_ITEM.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/BP_ORDER_ITEM.cs @@ -950,6 +950,9 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("ROUNDSTD"), DisplayName("修约标准")] public string ROUNDSTD { get; set; } + [Persistent("STDSPEC_STLGRD"), DisplayName("打印钢种")] + public string STDSPEC_STLGRD { get; set; } + ////替代钢材号 //[Persistent("SUB_SLAB_NO"), DisplayName("替代钢材号")] //public string SUB_SLAB_NO { get; set; } diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/GP_PLATE.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/GP_PLATE.cs index bd3679b..c696975 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/GP_PLATE.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/GP_PLATE.cs @@ -899,6 +899,9 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("GP_WGT"), DisplayName("钢板重")] public string GP_WGT { get; set; } - + //STEEL_GRD_DETAIL + ////钢种说明 + [Persistent("STEEL_GRD_DETAIL"), DisplayName("钢种说明")] + public string STEEL_GRD_DETAIL { get; set; } } } \ No newline at end of file diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO.cs index 6d0cc28..500a337 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO.cs @@ -34,7 +34,15 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("INS_DATE"), DisplayName("录入日期")] public string INS_DATE { get; set; } [Persistent("UPD_DATE"), DisplayName("修改日期")] - public string UPD_DATE { get; set; } + public string UPD_DATE { get; set; } + [Persistent("STEEL_GRD_DETAIL"), DisplayName("板坯钢种")] + public string STEEL_GRD_DETAIL { get; set; } + [Persistent("STDSPEC_STLGRD"), DisplayName("订单牌号")] + public string STDSPEC_STLGRD { get; set; } + + + [Persistent("STD_FLG"), DisplayName("是否异钢种")] + public string STD_FLG { get; set; } } } \ No newline at end of file diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_COPY.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_COPY.cs index f056bdc..603ae43 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_COPY.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_COPY.cs @@ -36,5 +36,14 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("UPD_DATE"), DisplayName("修改日期")] public string UPD_DATE { get; set; } + [Persistent("STEEL_GRD_DETAIL"), DisplayName("板坯钢种")] + public string STEEL_GRD_DETAIL { get; set; } + + [Persistent("STDSPEC_STLGRD"), DisplayName("订单牌号")] + public string STDSPEC_STLGRD { get; set; } + + + [Persistent("STD_FLG"), DisplayName("是否异钢种")] + public string STD_FLG { get; set; } } } \ No newline at end of file diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_TIME.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_TIME.cs index ab66837..880e931 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_TIME.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/Enity/YCTD_WH_NO_TIME.cs @@ -35,6 +35,17 @@ namespace ibk.IPD.Entity.IpdPs public string INS_DATE { get; set; } [Persistent("UPD_DATE"), DisplayName("修改日期")] public string UPD_DATE { get; set; } + //&& p.ORESTLGRD == prP_PLATE.STEEL_GRD_DETAIL + // && p.TGT_STLGRD == prorde.STDSPEC_STLGRD + [Persistent("STEEL_GRD_DETAIL"), DisplayName("板坯钢种")] + public string STEEL_GRD_DETAIL { get; set; } + + [Persistent("STDSPEC_STLGRD"), DisplayName("订单牌号")] + public string STDSPEC_STLGRD { get; set; } + + + [Persistent("STD_FLG"), DisplayName("是否异钢种")] + public string STD_FLG { get; set; } } } \ No newline at end of file diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/PlateAnalysisStandard.csproj b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/PlateAnalysisStandard.csproj index 98603c0..08bcc81 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/PlateAnalysisStandard.csproj +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/PlateAnalysisStandard.csproj @@ -165,6 +165,7 @@ + diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubController.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubController.cs index c613e52..c689520 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubController.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubController.cs @@ -372,6 +372,8 @@ namespace ibk.IPD.Controller.IPD_PS private static IList gYCTD_WH_NO_TIME = new List(); //WG仓库可替代余材 private static IList gREMA_LOC_WG = new List(); + //异钢种信息 + public static IList glQpQltyTechReplace = new List(); #endregion 变量常量 @@ -1064,7 +1066,7 @@ namespace ibk.IPD.Controller.IPD_PS } } - Task[] tasks1 = new Task[25]; + Task[] tasks1 = new Task[26]; tasks1[0] = Task.Factory.StartNew(() => { //获取标准 @@ -1466,6 +1468,13 @@ namespace ibk.IPD.Controller.IPD_PS gREMA_LOC_WG = GetREMA_LOC_WG(); }); + tasks1[25] = Task.Factory.StartNew(() => + { + //异钢种替代信息 + glQpQltyTechReplace = getQP_QLTY_TECH_REPLACE(); + + logger.InfoFormat("异钢种替代信息:{0}", glQpQltyTechReplace.Count); + }); Task.WaitAll(tasks1); @@ -1540,100 +1549,100 @@ namespace ibk.IPD.Controller.IPD_PS #region 协议替代 - // #region 协议替代 - - // //钢板数据 - // List ltGP_PLATE_AGREEMENT = gP_PLATEs1.Where(p => order != null && p.THK == order.ORD_THK - //).ToList(); - // if (ltGP_PLATE_AGREEMENT.Count == 0) - // { - // COM_DATA CD = new COM_DATA(); - // CD.PLATE_NO = ""; - // CD.ORD_NO = order.ORD_NO; - // CD.ORD_ITEM = order.ORD_ITEM; - // //完全替代没有信息 - // CD.NULL_FULL = "1"; - // //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 - // } - - // //二次判断 - // foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_AGREEMENT) - // { - - // bool agreement = false; - - // //配置替代牌号 ORD_NO【订单号】 ORD_ITEM【订单项次号】 - // if (gSPECIAL_ORD.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // //不可替代钢种 标准号 - // if (gSPECIAL_STDSPEC.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) - // { - // agreement = true; - // } - // } - // if (gSPECIAL_ORD.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) - // { - // if (gSPECIAL_STDSPEC.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) - // { - // agreement = true; - // } - // } - // if ((Convert.ToDecimal(itemGP_PLATE.LEN) < 6000 || Convert.ToDecimal(itemGP_PLATE.LEN) > 13000)) - // { - // agreement = false; - // } - // if ((Convert.ToDecimal(itemGP_PLATE.WID) < 1600 || Convert.ToDecimal(itemGP_PLATE.WID) > 3500)) - // { - // agreement = false; - // } - // if (agreement) - // { - // //欠量 - // if (intLackNum <= 0) - // { - // //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // //{ - // // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // // manual.ORD_NO = order.ORD_NO; - // // manual.ORD_ITEM = order.ORD_ITEM; - // // manual.RETURN_RESULTS = "欠量不足"; - // // guTB_PLATE_MANUAL.Add(manual); - // //} - // continue; - // } - // //未成功数据 - // if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // //{ - // // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // // manual.ORD_NO = order.ORD_NO; - // // manual.ORD_ITEM = order.ORD_ITEM; - // // manual.RETURN_RESULTS = "历史替代数据"; - // // guTB_PLATE_MANUAL.Add(manual); - // //} - // continue; - // } - - // //进程代码 - // if (itemGP_PLATE.PROC_CD == "XAC") - // { - // itemGP_PLATE.SUB_FULL = "C"; - // } - // else - // { - // itemGP_PLATE.SUB_FULL = "P"; - // } - // //logger.InfoFormat("钢板:{0},订单:{1}-{2},协议替代存储临时表", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - - // AddTempDatas(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, "", "", false, false, true); - - // } - // } - - // #endregion + #region 协议替代 + + //钢板数据 + List ltGP_PLATE_AGREEMENT = gP_PLATEs1.Where(p => order != null && p.THK == order.ORD_THK + ).ToList(); + if (ltGP_PLATE_AGREEMENT.Count == 0) + { + COM_DATA CD = new COM_DATA(); + CD.PLATE_NO = ""; + CD.ORD_NO = order.ORD_NO; + CD.ORD_ITEM = order.ORD_ITEM; + //完全替代没有信息 + CD.NULL_FULL = "1"; + //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + } + + //二次判断 + foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_AGREEMENT) + { + + bool agreement = false; + + //配置替代牌号 ORD_NO【订单号】 ORD_ITEM【订单项次号】 + if (gSPECIAL_ORD.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + //不可替代钢种 标准号 + if (gSPECIAL_STDSPEC.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) + { + agreement = true; + } + } + if (gSPECIAL_ORD.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (gSPECIAL_STDSPEC.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) + { + agreement = true; + } + } + if ((Convert.ToDecimal(itemGP_PLATE.LEN) < 6000 || Convert.ToDecimal(itemGP_PLATE.LEN) > 13000)) + { + agreement = false; + } + if ((Convert.ToDecimal(itemGP_PLATE.WID) < 1600 || Convert.ToDecimal(itemGP_PLATE.WID) > 3500)) + { + agreement = false; + } + if (agreement) + { + //欠量 + if (intLackNum <= 0) + { + //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + //{ + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // manual.ORD_NO = order.ORD_NO; + // manual.ORD_ITEM = order.ORD_ITEM; + // manual.RETURN_RESULTS = "欠量不足"; + // guTB_PLATE_MANUAL.Add(manual); + //} + continue; + } + //未成功数据 + if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + //{ + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // manual.ORD_NO = order.ORD_NO; + // manual.ORD_ITEM = order.ORD_ITEM; + // manual.RETURN_RESULTS = "历史替代数据"; + // guTB_PLATE_MANUAL.Add(manual); + //} + continue; + } + + //进程代码 + if (itemGP_PLATE.PROC_CD == "XAC") + { + itemGP_PLATE.SUB_FULL = "C"; + } + else + { + itemGP_PLATE.SUB_FULL = "P"; + } + //logger.InfoFormat("钢板:{0},订单:{1}-{2},协议替代存储临时表", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + + AddTempDatas(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, "", "", false, false, true); + + } + } + + #endregion #endregion @@ -1668,542 +1677,224 @@ namespace ibk.IPD.Controller.IPD_PS #region 11111 - //#region 只需要检查物理性能和化学性能 - - ////管线规则更改 通过不可替代订单页面设置 管线标准不替代 - //if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL != "Y") - // { - // //管线标准不替代 - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单:{1},协议:{2},管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - - //} - //else if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") - // { - // //管线标准不替代 - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单:{1},协议:{2},管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //else - //{ - // //管线标准不替代 - // if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21851-2023 X70M”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // if (itemGP_PLATE.APLY_STDSPEC == "JX21843-2023 X60MS" || order.STDSPEC == "JX21843-2023 X60MS") - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21843-2023 X60MS”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21867-2023 L555M”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + #region 只需要检查物理性能和化学性能 - ////20231113 刘桂英 新增规则 gltTBOrdNospe 可替代特殊标准页面 - ////手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 - //if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).ToList().Count > 0) - // { - // //订单客户代码是SD2441且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代 20240108刘桂英改 - // if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) - // { - // if (itemGP_PLATE.BOO_CUST_CD == "SD2441" && (itemGP_PLATE.APLY_STDSPEC.Contains("G1") || itemGP_PLATE.APLY_STDSPEC.Contains("G2") || itemGP_PLATE.APLY_STDSPEC.Contains("G3"))) - // { + //管线规则更改 通过不可替代订单页面设置 管线标准不替代 + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) + { + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL != "Y") + { + //管线标准不替代 + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单:{1},协议:{2},管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - // } - // else - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441”订单只替代自己订单产生的余材", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) - // { - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //else - //{ - // //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 - // //订单客户代码是SD2441且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代 20240108刘桂英改 - // if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) - // { - // if (itemGP_PLATE.BOO_CUST_CD == "SD2441" && (itemGP_PLATE.APLY_STDSPEC.Contains("G1") || itemGP_PLATE.APLY_STDSPEC.Contains("G2") || itemGP_PLATE.APLY_STDSPEC.Contains("G3"))) - // { + } + else if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) + { + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") + { + //管线标准不替代 + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单:{1},协议:{2},管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + else + { + //管线标准不替代 + if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21851-2023 X70M”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (itemGP_PLATE.APLY_STDSPEC == "JX21843-2023 X60MS" || order.STDSPEC == "JX21843-2023 X60MS") + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21843-2023 X60MS”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板或订单管线标准是“JX21867-2023 L555M”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - // } - // else - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441”且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} + //20231113 刘桂英 新增规则 gltTBOrdNospe 可替代特殊标准页面 + //手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).ToList().Count > 0) + { + //订单客户代码是SD2441且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代 20240108刘桂英改 + if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) + { + if (itemGP_PLATE.BOO_CUST_CD == "SD2441" && (itemGP_PLATE.APLY_STDSPEC.Contains("G1") || itemGP_PLATE.APLY_STDSPEC.Contains("G2") || itemGP_PLATE.APLY_STDSPEC.Contains("G3"))) + { - ////可替代特殊标准配置 钢板 - //if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //// 可替代特殊标准配置 订单 - //if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + } + else + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441”订单只替代自己订单产生的余材", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + else + { + //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 + //订单客户代码是SD2441且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代 20240108刘桂英改 + if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) + { + if (itemGP_PLATE.BOO_CUST_CD == "SD2441" && (itemGP_PLATE.APLY_STDSPEC.Contains("G1") || itemGP_PLATE.APLY_STDSPEC.Contains("G2") || itemGP_PLATE.APLY_STDSPEC.Contains("G3"))) + { - ////可替代特殊订单手动配置页面 gltTBSpecialOrdYes - //if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) - // { - // if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////可替代特殊订单手动配置页面 - //if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) - // { - // if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} + } + else + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441”且标准号是“G1”或者“G2”或者“G3”订单只替代自己订单产生的余材,进行完全替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } - ////替代控制 - //if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "完全替代").ToList().Count == 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},获取开放替代厂,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (Convert.ToDecimal(order.ORD_THK) < 5) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "厚度5mm以下不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度5mm以下不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} + //可替代特殊标准配置 钢板 + if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + // 可替代特殊标准配置 订单 + if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - //if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) - //{ - // string plateno = itemGP_PLATE.PLATE_NO.Substring(itemGP_PLATE.PLATE_NO.Length - 4); - // if (itemGP_PLATE.PLT == "C1" && plateno == "0101") - // { - // if (ConverDataToDecimal(itemGP_PLATE.THK) <= 12) - // { - // if (itemGP_PLATE.PROC_CD == "DZB") - // { - // if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "Y").ToList().Count == 0) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "0101尾号 小于等于12mm不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},0101尾号 小于等于12mm不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // } - // } - //} + //可替代特殊订单手动配置页面 gltTBSpecialOrdYes + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) + { + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //可替代特殊订单手动配置页面 + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) + { + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } - //order.ORD_LEN = itemGP_PLATE.LEN; - //if (intLackNum <= 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "欠量不足"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},欠量不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_FULL)) - // { - // if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "钢种替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢种完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////订单匹配未加入包含关系 - //if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) - // { - // string IS_FULL = gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL; - // if (IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe[0].IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////NJ流通板 20240327会议沟通 刘桂英:放开流通板 - ////if (order.ORD_KND == "A" && order.STDSPEC.Contains("-NJ")) - ////{ - //// //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单种类为“A”,且标准包含“-NJ”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - //// continue; - ////} - //if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "历史替代数据"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},历史替代数据,2h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (gltSurHis.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "历史替代失败数据,(12h内)"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1}-{2},历史替代失败数据,12h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "不可替代钢板"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代钢板", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (!isMANUAL) - //{ - // //mes规格修改数据 获取余材的动态信息 是否可替代 - // if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材锁定,不可替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //if (gltGP_ZZP_YJ.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.BL_FL == "Y").ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "保留钢板"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},保留的钢板不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - ////改判原因是卷轧头尾的不替代 - //if (itemGP_PLATE.CHG_GRD_RES != null) - //{ - // if (itemGP_PLATE.CHG_GRD_RES == "ACC") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},改判原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //if (itemGP_PLATE.WOO_RSN != null) - //{ - // if (itemGP_PLATE.WOO_RSN == "ACC" && itemGP_PLATE.PROC_CD.Contains("D")) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - - // } - // if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - ////没有余材原因 20231208 20240124改 - //string PLATE_ORD_RES = string.Empty;//余材原因拼接 - - //if ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1") - //{ - // PLATE_ORD_RES += "性能改判"; - //} - //if (itemGP_PLATE.WOO_RSN == null) - //{ - // if (PLATE_ORD_RES == "") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "没有余材原因不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},没有余材原因不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - - - //#endregion - - - #endregion 11111 - - intAllLoop++; - itemGP_PLATE.SUB_FULL = ""; - itemGP_PLATE.SUB_LACK_CON = ""; - itemGP_PLATE.SUB_FULL = "C"; - - #region 222222 - - //#region 2222 - - - //厚度公差 - if (!ChkTHKTol(itemGP_PLATE, order)) + //替代控制 + if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "完全替代").ToList().Count == 0) { if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { @@ -2211,68 +1902,13 @@ namespace ibk.IPD.Controller.IPD_PS manual.PLATE_NO = itemGP_PLATE.PLATE_NO; manual.ORD_NO = order.ORD_NO; manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "厚度公差"; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "完全替代未开"; guTB_PLATE_MANUAL.Add(manual); } - //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度公差不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},获取开放替代厂,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - - ////探伤结果 - //if (!ChkFlawCom(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "探伤结果"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},探伤结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - ////热处理结果 - //if (!ChkHeatCom(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "热处理结果"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},热处理结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - ////切边状态 - //if (!ChkCutCom(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "切边状态"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},切边状态不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - - //#endregion - - #endregion - - //实际化学成分 - if (!ChkChemCom(itemGP_PLATE, order)) + if (Convert.ToDecimal(order.ORD_THK) < 5) { if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { @@ -2280,15 +1916,43 @@ namespace ibk.IPD.Controller.IPD_PS manual.PLATE_NO = itemGP_PLATE.PLATE_NO; manual.ORD_NO = order.ORD_NO; manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "实际化学成分不符"; + manual.RETURN_RESULTS = "厚度5mm以下不替代"; guTB_PLATE_MANUAL.Add(manual); } - //logger.InfoFormat("钢板:{0},订单号:{1}-{2},实际化学成分不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度5mm以下不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - //物理属性 - if (!ChkPhyCom(itemGP_PLATE, order)) + if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) + { + string plateno = itemGP_PLATE.PLATE_NO.Substring(itemGP_PLATE.PLATE_NO.Length - 4); + if (itemGP_PLATE.PLT == "C1" && plateno == "0101") + { + if (ConverDataToDecimal(itemGP_PLATE.THK) <= 12) + { + if (itemGP_PLATE.PROC_CD == "DZB") + { + if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "Y").ToList().Count == 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "0101尾号 小于等于12mm不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},0101尾号 小于等于12mm不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + } + } + + order.ORD_LEN = itemGP_PLATE.LEN; + if (intLackNum <= 0) { if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { @@ -2296,295 +1960,259 @@ namespace ibk.IPD.Controller.IPD_PS manual.PLATE_NO = itemGP_PLATE.PLATE_NO; manual.ORD_NO = order.ORD_NO; manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "物理属性不符"; + manual.RETURN_RESULTS = "欠量不足"; guTB_PLATE_MANUAL.Add(manual); } - //logger.InfoFormat("钢板:{0},订单号:{1}-{2},物理属性不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},欠量不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - - #region 333333 - - //#region 333 - - - //bool isSMP = false; - - ////20240126 - //bool IsSMPLens = false;//如果为true 在原电文基础上标记1 表示不进行切割替代,发给MES - - - ////取样后长度判断 - //if (!ChkSMPLen(itemGP_PLATE, order, isSMP)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "取样后长度不足"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1}-{2},取样后长度不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - - //#endregion - - #endregion - - if (itemGP_PLATE.PROC_CD == "XAC") + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { - if (ConverDataToString(itemGP_PLATE.SUB_LACK_CON) == String.Empty) - { - itemGP_PLATE.SUB_FULL = "C"; - } - else + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL)) { - if (itemGP_PLATE.SUB_LACK_CON.Contains("物理")) + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL != "Y") { - itemGP_PLATE.SUB_FULL = "P"; + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; } - if (itemGP_PLATE.SUB_LACK_CON.Contains("化学")) + } + } + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_FULL)) + { + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_FULL != "Y") { - itemGP_PLATE.SUB_FULL = "P"; + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "钢种替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢种完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; } - if (itemGP_PLATE.SUB_LACK_CON.Contains("标准")) + } + } + //订单匹配未加入包含关系 + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL)) + { + string IS_FULL = gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_FULL; + if (IS_FULL != "Y") { - itemGP_PLATE.SUB_FULL = "P"; + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; } } - } - else + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).ToList().Count > 0) { - itemGP_PLATE.SUB_FULL = "P"; - } - - //成分不符 - if (itemGP_PLATE.SUB_LACK_CON.Contains("物理")) + if (!string.IsNullOrEmpty(gltTBOrdSpe[0].IS_FULL)) + { + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //NJ流通板 20240327会议沟通 刘桂英:放开流通板 + //if (order.ORD_KND == "A" && order.STDSPEC.Contains("-NJ")) + //{ + // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单种类为“A”,且标准包含“-NJ”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + // continue; + //} + if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "历史替代数据"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},历史替代数据,2h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - if (itemGP_PLATE.SUB_LACK_CON.Contains("订单")) + if (gltSurHis.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "历史替代失败数据,(12h内)"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},历史替代失败数据,12h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - if (itemGP_PLATE.SUB_LACK_CON.Contains("化学")) + if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "不可替代钢板"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代钢板", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (!isMANUAL) + { + //mes规格修改数据 获取余材的动态信息 是否可替代 + if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材锁定,不可替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (gltGP_ZZP_YJ.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.BL_FL == "Y").ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "保留钢板"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},保留的钢板不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - #region 44444 - - //#region 444 + //改判原因是卷轧头尾的不替代 + if (itemGP_PLATE.CHG_GRD_RES != null) + { + if (itemGP_PLATE.CHG_GRD_RES == "ACC") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},改判原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (itemGP_PLATE.WOO_RSN != null) + { + if (itemGP_PLATE.WOO_RSN == "ACC" && itemGP_PLATE.PROC_CD.Contains("D")) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; - ////G1特种钢判断 - //if (!ChkG1(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "G1特种钢判断"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},G1特种钢", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} + } + if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + //没有余材原因 20231208 20240124改 + string PLATE_ORD_RES = string.Empty;//余材原因拼接 - //if (itemGP_PLATE.SUB_FULL == "C" && ((order.SPRAY_FL != String.Empty && order.SPRAY_FL != "N") || ConverDataToString(order.PACK_WAY) != String.Empty)) - //{ - // itemGP_PLATE.SUB_FULL = "P"; - //} + if ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1") + { + PLATE_ORD_RES += "性能改判"; + } + if (itemGP_PLATE.WOO_RSN == null) + { + if (PLATE_ORD_RES == "") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "没有余材原因不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},没有余材原因不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - //if ((ConverDataToString(order.HTM_METH1) + ConverDataToString(order.HTM_METH2) + ConverDataToString(order.HTM_METH3)) == "Q" && - // ConverDataToString(order.DELIVERY_STATUS) == "QT") - //{ - // itemGP_PLATE.SUB_FULL = "P"; - //} - //if ((ConverDataToString(order.HTM_METH1) + ConverDataToString(order.HTM_METH2) + ConverDataToString(order.HTM_METH3)) == "NT" && - // ConverDataToString(order.DELIVERY_STATUS) == "N") - //{ - // itemGP_PLATE.SUB_FULL = "P"; - //} - //string knd = "C"; + #endregion - //if (itemGP_PLATE.PROC_CD != "XAC") - //{ - // knd = "C"; - // itemGP_PLATE.SUB_FULL = "P"; - //} - //string STLGRD = string.Empty; - //string strINV = string.Empty; - ////仓库期限 - //if (!isMANUAL) - //{ - // if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},仓库期限不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - ////20240308 区分是否为WG仓库,用以存储至WG仓库手动确认界面 - //bool IsWG = false; - //if (!isMANUAL) - //{ - // //垛位号 - // if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) - // { - // //20240116 刘桂英改 垛位管控不受钢种限制,原规则:余材是镍系钢情况下,不考虑货位情况。 - // //替代货位配置 仓库一致,包含垛位,配置不可替代(N),替代类型一致 - // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV - // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - // { - // //20240308 喜处通知,针对WG库 ,增加人工替代确认界面, - // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV && itemGP_PLATE.CUR_INV == "WG" - // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - // { - // //wg仓库可替代余材已存在 - // if (gREMA_LOC_WG.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) - // { - // continue; - // } - // else - // { - // IsWG = true; - // //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); - // } - // } - // else - // { - // continue; - // } - // } - // } - //} - //if (isMANUAL) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM && p.IS_CUTTING == "N").ToList().Count > 0) - // { - // itemGP_PLATE.SUB_FULL = "C"; - // isCUTTING = true; - // } - //} + #endregion 11111 - //if (itemGP_PLATE.SUB_FULL == "P") - //{ - // if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //if (!string.IsNullOrEmpty(itemGP_PLATE.SUB_LACK_CON)) - //{ - // if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //if (itemGP_PLATE.SUB_FULL == "P") - //{ - // //不可替代订单页面设置 - // if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).ToList().Count > 0) - // { - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // } - // //不可替代订单页面设置 - // if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // } - // //不可替代订单页面设置 - // if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - // { - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_PART)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "完全替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // } - //} + intAllLoop++; + itemGP_PLATE.SUB_FULL = ""; + itemGP_PLATE.SUB_LACK_CON = ""; + itemGP_PLATE.SUB_FULL = "C"; - //#endregion + #region 222222 - #endregion + #region 2222 - //标准 - if (!ChkStandGroup(itemGP_PLATE, order)) + //厚度公差 + if (!ChkTHKTol(itemGP_PLATE, order)) { if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) { @@ -2592,607 +2220,918 @@ namespace ibk.IPD.Controller.IPD_PS manual.PLATE_NO = itemGP_PLATE.PLATE_NO; manual.ORD_NO = order.ORD_NO; manual.ORD_ITEM = order.ORD_ITEM; - manual.RETURN_RESULTS = "标准原因"; + manual.RETURN_RESULTS = "厚度公差"; guTB_PLATE_MANUAL.Add(manual); } - //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},标准不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度公差不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); continue; } - //AddTempData(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, STLGRD, strINV, isCUTTING, isSMP, false, IsSMPLens, IsWG); - - #endregion 完全匹配2 - - } - - #endregion 完全匹配 - - #region 部分匹配 - - //根据订单条件筛选钢材信息 初步筛选 - List ltGP_PLATE_Part = gP_PLATEs.Where(p => order != null && - (Convert.ToDecimal(p.LEN) >= decLen //长 - && Convert.ToDecimal(p.WID) >= Convert.ToDecimal(order.ORD_WID)) //宽 - && (Convert.ToDecimal(p.LEN) * Convert.ToDecimal(p.WID) - > decLen * Convert.ToDecimal(order.ORD_WID))//面积 - && p.THK == order.ORD_THK //厚 - && ConverDataToString(p.SUB_PRO_STA) != "1" - ).OrderByDescending(p => p.ORD_LEN).ThenByDescending(p => p.ORD_WID).ToList(); - if (ltGP_PLATE_Part.Count == 0) - { - COM_DATA CD = new COM_DATA(); - CD.PLATE_NO = ""; - CD.ORD_NO = order.ORD_NO; - CD.ORD_ITEM = order.ORD_ITEM; - CD.NULL_PART = "1"; //部分替代没有信息 - //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 - } + //探伤结果 + if (!ChkFlawCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "探伤结果"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},探伤结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - //二次判断 - foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_Part) - { + //热处理结果 + if (!ChkHeatCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "热处理结果"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},热处理结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - #region 部分匹配2 + //切边状态 + if (!ChkCutCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "切边状态"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},切边状态不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - intAllLoop++; - itemGP_PLATE.SUB_FULL = "";//替代类型 - itemGP_PLATE.SUB_LACK_CON = "";//缺失内容 - itemGP_PLATE.SUB_FULL = "P"; - #region 111111 + #endregion - //#region 111 + #endregion - //string STLGRD = string.Empty; - //string strINV = string.Empty; + //实际化学成分 + if (!ChkChemCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "实际化学成分不符"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},实际化学成分不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - ////仓库期限 - //if (!isMANUAL) - //{ - // if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) - // { - // //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // //{ - // // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // // manual.ORD_NO = order.ORD_NO; - // // manual.ORD_ITEM = order.ORD_ITEM; - // // manual.RETURN_RESULTS = "仓库期限"; - // // guTB_PLATE_MANUAL.Add(manual); - // //} - // //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库期限不满足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - ////厚度公差 - //if (!ChkTHKTol(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "厚度公差不符"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度公差不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - - ////探伤结果 - //if (!ChkFlawCom(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "探伤结果"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},探伤结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - ////热处理结果 - //if (!ChkHeatCom(itemGP_PLATE, order)) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "热处理结果不符"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},热处理结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} + //物理属性 + if (!ChkPhyCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "物理属性不符"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},物理属性不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + #region 333333 - //#region 部分特定规则不替代 + #region 333 - ////20240226 刘桂英通知:牌号为 S45C-NG和S50C-NG,且余材宽度为:2/2.2/2.3/2.5米 不需要系统自动余材替代 - //QP_STD_HEAD PlateSTDSPEC = null; - //PlateSTDSPEC = gltQPSTDHEAD.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).OrderByDescending(p => p.STDSPEC_YY).FirstOrDefault(); + bool isSMP = false; - //if (PlateSTDSPEC != null) - //{ - // if ((PlateSTDSPEC.STDSPEC_STLGRD == "S45C-NG" || PlateSTDSPEC.STDSPEC_STLGRD == "S50C-NG") && (itemGP_PLATE.WID == "2000" || itemGP_PLATE.WID == "2200" || itemGP_PLATE.WID == "2300" || itemGP_PLATE.WID == "2500")) - // { - // //logger.InfoFormat("钢板:{0},订单:{1}-{2},S45C-NG和S50C-NG,且余材宽度为:2/2.2/2.3/2.5米 不需要系统自动余材替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + //20240126 + bool IsSMPLens = false;//如果为true 在原电文基础上标记1 表示不进行切割替代,发给MES - ////20240229 刘桂英通知:OM6订单针对于TB460,TB500, TB620这三个钢种余材不要自动替代。 - //if (order.ORD_NO.Contains("OM6") && (itemGP_PLATE.STLGRD == "TB460" || itemGP_PLATE.STLGRD == "TB500" || itemGP_PLATE.STLGRD == "TB620")) - //{ - // logger.InfoFormat("钢板:{0},订单:{1}-{2},钢种:{3}, OM6订单针对于TB460,TB500, TB620这三个钢种余材不要自动替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.STLGRD); - // continue; - //} + //取样后长度判断 + if (!ChkSMPLen(itemGP_PLATE, order, isSMP)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "取样后长度不足"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},取样后长度不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - //#endregion + #endregion - ////管线规则更改 通过不可替代订单页面设置 管线标准不替代 - //if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) - // { - // if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART != "Y") - // { - // //管线标准不替代 - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } + #endregion - //} - //else if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART)) - // { - // if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART != "Y") - // { - // //管线标准不替代 - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } + if (itemGP_PLATE.PROC_CD == "XAC") + { + if (ConverDataToString(itemGP_PLATE.SUB_LACK_CON) == String.Empty) + { + itemGP_PLATE.SUB_FULL = "C"; + } + else + { + if (itemGP_PLATE.SUB_LACK_CON.Contains("物理")) + { + itemGP_PLATE.SUB_FULL = "P"; + } + if (itemGP_PLATE.SUB_LACK_CON.Contains("化学")) + { + itemGP_PLATE.SUB_FULL = "P"; + } + if (itemGP_PLATE.SUB_LACK_CON.Contains("标准")) + { + itemGP_PLATE.SUB_FULL = "P"; + } + } - //} - //else - //{ - // //管线标准不替代 - // if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板和订单管线标准为“JX21851-2023 X70M”,部分替代不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板和订单管线标准为“JX21867-2023 L555M”,部分替代不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + } + else + { + itemGP_PLATE.SUB_FULL = "P"; + } - //if (!string.IsNullOrEmpty(itemGP_PLATE.REMARK)) - //{ - // if (itemGP_PLATE.REMARK.Contains("98%成材率")) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材备注包含“98%成材率”,不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // if (itemGP_PLATE.REMARK.Contains("热处理线取样")) - // { - // if (itemGP_PLATE.PROC_CD.Contains("D") || itemGP_PLATE.PROC_CD.Contains("Q")) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材备注包含“热处理线取样”且进程代码包含“D”或“Q”,不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} + //成分不符 + if (itemGP_PLATE.SUB_LACK_CON.Contains("物理")) + { + continue; + } + if (itemGP_PLATE.SUB_LACK_CON.Contains("订单")) + { + continue; + } + if (itemGP_PLATE.SUB_LACK_CON.Contains("化学")) + { + continue; + } - ////20231113 刘桂英 新增规则 gltTBOrdNospe 可替代特殊标准页面 - ////手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 - //if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).ToList().Count > 0) - // { - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) - // { - // if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //else - //{ - // //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 - // if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441” 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + #region 44444 - ////可替代特殊标准配置 钢板 - //if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - ////可替代特殊标准配置 订单 - //if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).ToList().Count > 0) - //{ - // if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + #region 444 - ////可替代特殊订单手动配置页面 gltTBSpecialOrdYes - //if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART)) - // { - // if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单未配置,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////可替代特殊订单手动配置页面 - //if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) - // { - // if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单未配置,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} + //G1特种钢判断 + if (!ChkG1(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "G1特种钢判断"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},G1特种钢", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } - //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM && p.IS_CUTTING == "N").ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "不做切割替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不做切割替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - ////替代控制 - //if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (Convert.ToDecimal(order.ORD_THK) < 5) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "厚度5mm以下不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (order.ORD_NO.Contains("OMZ")) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "OMZ部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},OMZ部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) - //{ - // string plateno = itemGP_PLATE.PLATE_NO.Substring(itemGP_PLATE.PLATE_NO.Length - 4); - // if (itemGP_PLATE.PLT == "C1" && plateno == "0101") - // { - // if (ConverDataToDecimal(itemGP_PLATE.THK) <= 12) - // { - // if (itemGP_PLATE.PROC_CD == "DZB") - // { - // if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "Y").ToList().Count == 0) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "C1 尾号0101 小于等于12mm不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},C1 尾号0101 小于等于12mm不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - // } - // } - //} + if (itemGP_PLATE.SUB_FULL == "C" && ((order.SPRAY_FL != String.Empty && order.SPRAY_FL != "N") || ConverDataToString(order.PACK_WAY) != String.Empty)) + { + itemGP_PLATE.SUB_FULL = "P"; + } - //if (intLackNum <= 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "欠量不足"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},欠量不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - ////不可替代订单页面 - //if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_PART)) - // { - // if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////不可替代订单页面 - //if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) - // { - // string IS_PART = gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART; - // if (IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_PART)) - // { - // if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_PART != "Y") - // { - // if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "钢种替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢种替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - //if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) - //{ - // if (!string.IsNullOrEmpty(gltTBOrdSpe[0].IS_PART)) - // { - // if (gltTBOrdSpe[0].IS_PART != "Y") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "订单部分替代未开"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - // } - //} - ////NJ流通板 20240327会议沟通:放开流通板 - ////if (order.ORD_KND == "A" && order.STDSPEC.Contains("-NJ")) - ////{ - //// if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //// { - //// TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - //// manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - //// manual.ORD_NO = order.ORD_NO; - //// manual.ORD_ITEM = order.ORD_ITEM; - //// manual.RETURN_RESULTS = "A订单,标准包含-NJ不替代"; - //// guTB_PLATE_MANUAL.Add(manual); - //// } - //// //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单种类为“A”,且标准包含“-NJ”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - //// continue; - ////} - - //if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "历史替代数据"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},历史替代数据", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (gltSurHis.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "历史替代失败数据,(12h内)"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1}-{2},历史替代失败数据,12h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - //} - //if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) - //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "不替代钢板"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // continue; - //} - ////手动替代 - //if (!isMANUAL) - //{ - // //余材替代为否(N) 余材锁定,不可替代 - // if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) - // { - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材锁定,不可替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + if ((ConverDataToString(order.HTM_METH1) + ConverDataToString(order.HTM_METH2) + ConverDataToString(order.HTM_METH3)) == "Q" && + ConverDataToString(order.DELIVERY_STATUS) == "QT") + { + itemGP_PLATE.SUB_FULL = "P"; + } + + if ((ConverDataToString(order.HTM_METH1) + ConverDataToString(order.HTM_METH2) + ConverDataToString(order.HTM_METH3)) == "NT" && + ConverDataToString(order.DELIVERY_STATUS) == "N") + { + itemGP_PLATE.SUB_FULL = "P"; + } + string knd = "C"; + + if (itemGP_PLATE.PROC_CD != "XAC") + { + knd = "C"; + itemGP_PLATE.SUB_FULL = "P"; + } + string STLGRD = string.Empty; + string strINV = string.Empty; + //仓库期限 + if (!isMANUAL) + { + if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},仓库期限不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + //20240308 区分是否为WG仓库,用以存储至WG仓库手动确认界面 + bool IsWG = false; + if (!isMANUAL) + { + //垛位号 + if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) + { + //20240116 刘桂英改 垛位管控不受钢种限制,原规则:余材是镍系钢情况下,不考虑货位情况。 + //替代货位配置 仓库一致,包含垛位,配置不可替代(N),替代类型一致 + if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV + && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + { + //20240308 喜处通知,针对WG库 ,增加人工替代确认界面, + if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV && itemGP_PLATE.CUR_INV == "WG" + && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + { + //wg仓库可替代余材已存在 + if (gREMA_LOC_WG.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) + { + continue; + } + else + { + IsWG = true; + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); + } + } + else + { + continue; + } + } + } + } + if (isMANUAL) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM && p.IS_CUTTING == "N").ToList().Count > 0) + { + itemGP_PLATE.SUB_FULL = "C"; + isCUTTING = true; + } + } + + if (itemGP_PLATE.SUB_FULL == "P") + { + if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (!string.IsNullOrEmpty(itemGP_PLATE.SUB_LACK_CON)) + { + if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (itemGP_PLATE.SUB_FULL == "P") + { + //不可替代订单页面设置 + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) + { + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //不可替代订单页面设置 + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL)) + { + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //不可替代订单页面设置 + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_PART)) + { + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && string.IsNullOrWhiteSpace(p.ORD_ITEM)).FirstOrDefault().IS_FULL != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "完全替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,完全替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + } + + #endregion + + #endregion + + + //标准 + if (!ChkStandGroup(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "标准原因"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},标准不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + + //AddTempData(itemGP_PLATE, order, intLackNum, 1, itemGP_PLATE.SUB_FULL, STLGRD, strINV, isCUTTING, isSMP, false, IsSMPLens, IsWG); + + #endregion 完全匹配2 + + } + + #endregion 完全匹配 + + #region 部分匹配 + + //根据订单条件筛选钢材信息 初步筛选 + List ltGP_PLATE_Part = gP_PLATEs.Where(p => order != null && + (Convert.ToDecimal(p.LEN) >= decLen //长 + && Convert.ToDecimal(p.WID) >= Convert.ToDecimal(order.ORD_WID)) //宽 + && (Convert.ToDecimal(p.LEN) * Convert.ToDecimal(p.WID) + > decLen * Convert.ToDecimal(order.ORD_WID))//面积 + && p.THK == order.ORD_THK //厚 + && ConverDataToString(p.SUB_PRO_STA) != "1" + ).OrderByDescending(p => p.ORD_LEN).ThenByDescending(p => p.ORD_WID).ToList(); + if (ltGP_PLATE_Part.Count == 0) + { + COM_DATA CD = new COM_DATA(); + CD.PLATE_NO = ""; + CD.ORD_NO = order.ORD_NO; + CD.ORD_ITEM = order.ORD_ITEM; + CD.NULL_PART = "1"; //部分替代没有信息 + //gCOM_DATA.Add(CD);//全局变量添加对不结果数据 + } + + //二次判断 + foreach (GP_PLATE itemGP_PLATE in ltGP_PLATE_Part) + { + + #region 部分匹配2 + + intAllLoop++; + itemGP_PLATE.SUB_FULL = "";//替代类型 + itemGP_PLATE.SUB_LACK_CON = "";//缺失内容 + itemGP_PLATE.SUB_FULL = "P"; + + #region 111111 + + #region 111 + + string STLGRD = string.Empty; + string strINV = string.Empty; + + //仓库期限 + if (!isMANUAL) + { + if (!ChkWar(itemGP_PLATE, order, out STLGRD, out strINV)) + { + //if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + //{ + // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + // manual.ORD_NO = order.ORD_NO; + // manual.ORD_ITEM = order.ORD_ITEM; + // manual.RETURN_RESULTS = "仓库期限"; + // guTB_PLATE_MANUAL.Add(manual); + //} + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库期限不满足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + //厚度公差 + if (!ChkTHKTol(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "厚度公差不符"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},厚度公差不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + + //探伤结果 + if (!ChkFlawCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "探伤结果"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},探伤结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + //热处理结果 + if (!ChkHeatCom(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "热处理结果不符"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},热处理结果不符", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + + + #region 部分特定规则不替代 + + //20240226 刘桂英通知:牌号为 S45C-NG和S50C-NG,且余材宽度为:2/2.2/2.3/2.5米 不需要系统自动余材替代 + QP_STD_HEAD PlateSTDSPEC = null; + PlateSTDSPEC = gltQPSTDHEAD.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).OrderByDescending(p => p.STDSPEC_YY).FirstOrDefault(); + + if (PlateSTDSPEC != null) + { + if ((PlateSTDSPEC.STDSPEC_STLGRD == "S45C-NG" || PlateSTDSPEC.STDSPEC_STLGRD == "S50C-NG") && (itemGP_PLATE.WID == "2000" || itemGP_PLATE.WID == "2200" || itemGP_PLATE.WID == "2300" || itemGP_PLATE.WID == "2500")) + { + //logger.InfoFormat("钢板:{0},订单:{1}-{2},S45C-NG和S50C-NG,且余材宽度为:2/2.2/2.3/2.5米 不需要系统自动余材替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + //20240229 刘桂英通知:OM6订单针对于TB460,TB500, TB620这三个钢种余材不要自动替代。 + if (order.ORD_NO.Contains("OM6") && (itemGP_PLATE.STLGRD == "TB460" || itemGP_PLATE.STLGRD == "TB500" || itemGP_PLATE.STLGRD == "TB620")) + { + logger.InfoFormat("钢板:{0},订单:{1}-{2},钢种:{3}, OM6订单针对于TB460,TB500, TB620这三个钢种余材不要自动替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.STLGRD); + continue; + } + + #endregion + + //管线规则更改 通过不可替代订单页面设置 管线标准不替代 + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) + { + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART != "Y") + { + //管线标准不替代 + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + } + else if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART)) + { + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART != "Y") + { + //管线标准不替代 + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "管线标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + } + else + { + //管线标准不替代 + if (itemGP_PLATE.APLY_STDSPEC == "JX21851-2023 X70M" || order.STDSPEC == "JX21851-2023 X70M") + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板和订单管线标准为“JX21851-2023 X70M”,部分替代不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (itemGP_PLATE.APLY_STDSPEC == "JX21867-2023 L555M" || order.STDSPEC == "JX21867-2023 L555M") + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢板和订单管线标准为“JX21867-2023 L555M”,部分替代不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + if (!string.IsNullOrEmpty(itemGP_PLATE.REMARK)) + { + if (itemGP_PLATE.REMARK.Contains("98%成材率")) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材备注包含“98%成材率”,不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (itemGP_PLATE.REMARK.Contains("热处理线取样")) + { + if (itemGP_PLATE.PROC_CD.Contains("D") || itemGP_PLATE.PROC_CD.Contains("Q")) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材备注包含“热处理线取样”且进程代码包含“D”或“Q”,不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + + //20231113 刘桂英 新增规则 gltTBOrdNospe 可替代特殊标准页面 + //手动配置订单客户代码 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && order.STDSPEC.Contains(p.STDSPEC)).FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + else if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.ORD_CUST_CD == order.CUST_CD && p.STDSPEC == "000").FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "订单客户代码和特殊标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码和特殊标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + else + { + //订单客户代码是"SD2441" 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代 + if (order.CUST_CD == "SD2441" && (order.STDSPEC.Contains("G1") || order.STDSPEC.Contains("G2") || order.STDSPEC.Contains("G3"))) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单客户代码是“SD2441” 且标准号是“G1”或者“G2”或者“G3”订单不做余材替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + //可替代特殊标准配置 钢板 + if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.STDSPEC == itemGP_PLATE.APLY_STDSPEC).FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + //可替代特殊标准配置 订单 + if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).ToList().Count > 0) + { + if (gltTBOrdNospe.Where(p => p.STDSPEC == order.STDSPEC).FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "特殊管线标准,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},特殊管线标准,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + //可替代特殊订单手动配置页面 gltTBSpecialOrdYes + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART)) + { + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && order.ORD_ITEM.Contains(p.ORD_ITEM)).FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单未配置,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //可替代特殊订单手动配置页面 + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) + { + if (gltTBSpecialOrdYes.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "可替代特殊订单,部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},可替代特殊订单未配置,部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM && p.IS_CUTTING == "N").ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "不做切割替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不做切割替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + //替代控制 + if (gSUB_TYPE_MGT.Where(p => p.PLT == itemGP_PLATE.PLT && p.SUB_TYPE == "部分替代").ToList().Count == 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = itemGP_PLATE.PLT + "部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (Convert.ToDecimal(order.ORD_THK) < 5) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "厚度5mm以下不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (order.ORD_NO.Contains("OMZ")) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "OMZ部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},OMZ部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (!string.IsNullOrEmpty(itemGP_PLATE.PLATE_NO)) + { + string plateno = itemGP_PLATE.PLATE_NO.Substring(itemGP_PLATE.PLATE_NO.Length - 4); + if (itemGP_PLATE.PLT == "C1" && plateno == "0101") + { + if (ConverDataToDecimal(itemGP_PLATE.THK) <= 12) + { + if (itemGP_PLATE.PROC_CD == "DZB") + { + if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "Y").ToList().Count == 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "C1 尾号0101 小于等于12mm不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},C1 尾号0101 小于等于12mm不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + } + } - //if (gltGP_ZZP_YJ.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.BL_FL == "Y").ToList().Count > 0) + if (intLackNum <= 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "欠量不足"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},欠量不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + //不可替代订单页面 + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_PART)) + { + if (gltTBOrdSpe.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).FirstOrDefault().IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //不可替代订单页面 + if (gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART)) + { + string IS_PART = gltTBOrdSpe.Where(p => order.ORD_NO.Contains(p.ORD_NO) && p.ORD_ITEM == "000").FirstOrDefault().IS_PART; + if (IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == "000").ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_PART)) + { + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).FirstOrDefault().IS_PART != "Y") + { + if (gTB_STLGRD_SPE.Where(p => p.STLGRD.Contains(itemGP_PLATE.STLGRD)).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "钢种替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},钢种替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + if (gltTBOrdSpe.Where(p => p.ORD_NO.Contains(order.ORD_NO) && p.ORD_ITEM == "000").ToList().Count > 0) + { + if (!string.IsNullOrEmpty(gltTBOrdSpe[0].IS_PART)) + { + if (gltTBOrdSpe[0].IS_PART != "Y") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "订单部分替代未开"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},不可替代订单页面未设置,订单部分替代未开", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + } + //NJ流通板 20240327会议沟通:放开流通板 + //if (order.ORD_KND == "A" && order.STDSPEC.Contains("-NJ")) //{ // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) // { @@ -3200,88 +3139,155 @@ namespace ibk.IPD.Controller.IPD_PS // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; // manual.ORD_NO = order.ORD_NO; // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "保留钢板"; + // manual.RETURN_RESULTS = "A订单,标准包含-NJ不替代"; // guTB_PLATE_MANUAL.Add(manual); // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},保留钢板", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},订单种类为“A”,且标准包含“-NJ”不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); // continue; //} - ////改判原因是卷轧头尾的不替代 - //if (itemGP_PLATE.CHG_GRD_RES != null) - //{ - // if (itemGP_PLATE.CHG_GRD_RES == "ACC") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},改判原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //if (itemGP_PLATE.WOO_RSN != null) - //{ - // if (itemGP_PLATE.WOO_RSN == "ACC" && itemGP_PLATE.PROC_CD.Contains("D")) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // continue; - // } - // if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} - //string PLATE_ORD_RES = string.Empty;//余材原因拼接 + if (gUnS_SUPERSEDE_HISTORY.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "历史替代数据"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},历史替代数据", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (gltSurHis.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "历史替代失败数据,(12h内)"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1}-{2},历史替代失败数据,12h内不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + if (gltTBPlateSpe.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "不替代钢板"; + guTB_PLATE_MANUAL.Add(manual); + } + continue; + } + //手动替代 + if (!isMANUAL) + { + //余材替代为否(N) 余材锁定,不可替代 + if (gltGpPlateReplace.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.TD_FL == "N").ToList().Count > 0) + { + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材锁定,不可替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - //if ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1") - //{ - // PLATE_ORD_RES += "性能改判"; - //} - ////没有余材原因 20231208 20240124改 - //if (itemGP_PLATE.WOO_RSN == null) - //{ - // if (PLATE_ORD_RES == "") - // { - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "没有余材原因不替代"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},没有余材原因不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; - // } - //} + if (gltGP_ZZP_YJ.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.BL_FL == "Y").ToList().Count > 0) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "保留钢板"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},保留钢板", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + //改判原因是卷轧头尾的不替代 + if (itemGP_PLATE.CHG_GRD_RES != null) + { + if (itemGP_PLATE.CHG_GRD_RES == "ACC") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "改判原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},改判原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + if (itemGP_PLATE.WOO_RSN != null) + { + if (itemGP_PLATE.WOO_RSN == "ACC" && itemGP_PLATE.PROC_CD.Contains("D")) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + continue; + } + if (itemGP_PLATE.WOO_RSN == "ACC" && order.ORD_NO.Contains("OM8")) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "余材原因是卷轧头尾的不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材原因是卷轧头尾的不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } + + string PLATE_ORD_RES = string.Empty;//余材原因拼接 + + if ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1") + { + PLATE_ORD_RES += "性能改判"; + } + //没有余材原因 20231208 20240124改 + if (itemGP_PLATE.WOO_RSN == null) + { + if (PLATE_ORD_RES == "") + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "没有余材原因不替代"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},没有余材原因不替代", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + } - //#endregion + #endregion #endregion @@ -3334,146 +3340,146 @@ namespace ibk.IPD.Controller.IPD_PS #region 22222 - //#region 222 - - - //bool isSMP = false; - - //bool IsSMPLens = false;//在原电文基础上标记1 表示不进行切割替代,发给MES - // //20240124 - // //余材规格、标准号与原订单一模一样即未发生变化时, - // //余材原因为计划余材, - // //责任单位为“补产附带”和“订单结构附带”, - // //且余材进程状态为DZB和QAB时, - // //在进行部分替代的时候不考虑取样长度; - // //在发给MES的同时标注不做切割指示,让MES对DZB和QAB状态不做改变; - - ////没有余材原因 20231208 20240124改 - ////int UST_CNT = gGP_USTRESULT.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count(); - ////string GF_NON_PROJECT_CODE2 = string.Empty;//责任单位为“补产附带”和“订单结构附带”, - ////if (itemGP_PLATE.INSP_B_DEP_FLAW2 != null - //// || Convert.ToDouble(itemGP_PLATE.LEN) < Convert.ToDouble(order.ORD_LEN) - //// || itemGP_PLATE.WID != order.ORD_WID - //// || itemGP_PLATE.THK != order.ORD_THK - //// || itemGP_PLATE.APLY_STDSPEC != order.STDSPEC - //// || itemGP_PLATE.PROD_GRD != "1" - //// || ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1")) - ////{ - //// //GF_NON_PROJECT_CODE2 += "补产附带"; - //// GF_NON_PROJECT_CODE2 = "1"; - ////} - ////else - ////{ - //// //GF_NON_PROJECT_CODE2 += "订单结构附带"; - //// GF_NON_PROJECT_CODE2 = "1";//若余材原因为计划余材,则责任单位必包含"1",可以注释 - ////} - //IsSMPLen = 0; - - //if (itemGP_PLATE.ORG_ORD_NO == order.ORD_NO && itemGP_PLATE.ORG_ORD_ITEM == order.ORD_ITEM)//余材原订单 - //{ - - // if (itemGP_PLATE.LEN == order.ORD_LEN && itemGP_PLATE.WID == order.ORD_WID && itemGP_PLATE.THK == order.ORD_THK && itemGP_PLATE.APLY_STDSPEC == order.STDSPEC)//余材规格 - // { - // if (itemGP_PLATE.WOO_RSN == "YCA" || itemGP_PLATE.WOO_RSN == "YPF" || itemGP_PLATE.WOO_RSN == "YCC")//余材原因为计划余材 - // { - // if (itemGP_PLATE.PROC_CD == "DZB" || itemGP_PLATE.PROC_CD == "QAB") - // { - // //余材责任单位 - // IsSMPLen = 1; - // IsSMPLens = true; - // logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材进程状态为:{3},部分替代不考虑取样长度", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.PROC_CD); - // } - // } - // } - //} - - - //if (!ChkSMPLen(itemGP_PLATE, order, isSMP)) + #region 222 + + + bool isSMP = false; + + bool IsSMPLens = false;//在原电文基础上标记1 表示不进行切割替代,发给MES + //20240124 + //余材规格、标准号与原订单一模一样即未发生变化时, + //余材原因为计划余材, + //责任单位为“补产附带”和“订单结构附带”, + //且余材进程状态为DZB和QAB时, + //在进行部分替代的时候不考虑取样长度; + //在发给MES的同时标注不做切割指示,让MES对DZB和QAB状态不做改变; + + //没有余材原因 20231208 20240124改 + //int UST_CNT = gGP_USTRESULT.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count(); + //string GF_NON_PROJECT_CODE2 = string.Empty;//责任单位为“补产附带”和“订单结构附带”, + //if (itemGP_PLATE.INSP_B_DEP_FLAW2 != null + // || Convert.ToDouble(itemGP_PLATE.LEN) < Convert.ToDouble(order.ORD_LEN) + // || itemGP_PLATE.WID != order.ORD_WID + // || itemGP_PLATE.THK != order.ORD_THK + // || itemGP_PLATE.APLY_STDSPEC != order.STDSPEC + // || itemGP_PLATE.PROD_GRD != "1" + // || ((itemGP_PLATE.PROD_GRD == "2" || itemGP_PLATE.PROD_GRD == "3") && itemGP_PLATE.SURF_GRD == "1")) //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "取样后长度不足"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},取样后长度不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; + // //GF_NON_PROJECT_CODE2 += "补产附带"; + // GF_NON_PROJECT_CODE2 = "1"; //} - ////} - ////G1特种钢判断 - //if (!ChkG1(itemGP_PLATE, order)) + //else //{ - // if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) - // { - // TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); - // manual.PLATE_NO = itemGP_PLATE.PLATE_NO; - // manual.ORD_NO = order.ORD_NO; - // manual.ORD_ITEM = order.ORD_ITEM; - // manual.RETURN_RESULTS = "G1特种钢判断"; - // guTB_PLATE_MANUAL.Add(manual); - // } - // //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},G1特种钢", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); - // continue; + // //GF_NON_PROJECT_CODE2 += "订单结构附带"; + // GF_NON_PROJECT_CODE2 = "1";//若余材原因为计划余材,则责任单位必包含"1",可以注释 //} + IsSMPLen = 0; - //if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) - //{ - // if ((ConverDataToDecimal(itemGP_PLATE.LEN) >= ConverDataToDecimal(order.ORD_LEN_MIN) - // && ConverDataToDecimal(itemGP_PLATE.LEN) <= ConverDataToDecimal(order.ORD_LEN_MAX))) - // { - // if (ConverDataToString(itemGP_PLATE.SUB_LACK_CON) == String.Empty - // && itemGP_PLATE.PROC_CD == "XAC" - // && itemGP_PLATE.WID == order.ORD_WID - // ) - // { - // itemGP_PLATE.SUB_FULL = "C"; - // } - // } - //} + if (itemGP_PLATE.ORG_ORD_NO == order.ORD_NO && itemGP_PLATE.ORG_ORD_ITEM == order.ORD_ITEM)//余材原订单 + { - ////20240308 区分是否为WG仓库,用以存储至WG仓库手动确认界面 - //bool IsWG = false; - ////不是手动替代 - //if (!isMANUAL) - //{ - // //垛位号 - // if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) - // { - // //20240116 刘桂英改 垛位管控不受钢种限制,原规则:余材是镍系钢情况下,不考虑货位情况。 - // //替代货位配置 仓库一致,包含垛位,配置不可替代(N),替代类型一致 - // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV - // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - // { - // //20240308 喜处通知,针对WG库 ,增加人工替代确认界面, - // if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV && itemGP_PLATE.CUR_INV == "WG" - // && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" - // && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) - // { - // //wg仓库可替代余材已存在 - // if (gREMA_LOC_WG.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) - // { - // continue; - // } - // else - // { - // IsWG = true; - // logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); - // } - // } - // else - // { - // continue; - // } - // } - // } + if (itemGP_PLATE.LEN == order.ORD_LEN && itemGP_PLATE.WID == order.ORD_WID && itemGP_PLATE.THK == order.ORD_THK && itemGP_PLATE.APLY_STDSPEC == order.STDSPEC)//余材规格 + { + if (itemGP_PLATE.WOO_RSN == "YCA" || itemGP_PLATE.WOO_RSN == "YPF" || itemGP_PLATE.WOO_RSN == "YCC")//余材原因为计划余材 + { + if (itemGP_PLATE.PROC_CD == "DZB" || itemGP_PLATE.PROC_CD == "QAB") + { + //余材责任单位 + IsSMPLen = 1; + IsSMPLens = true; + logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},余材进程状态为:{3},部分替代不考虑取样长度", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.PROC_CD); + } + } + } + } + + + if (!ChkSMPLen(itemGP_PLATE, order, isSMP)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "取样后长度不足"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},取样后长度不足", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } //} + //G1特种钢判断 + if (!ChkG1(itemGP_PLATE, order)) + { + if (gTB_PLATE_MANUAL.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO && p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).ToList().Count > 0) + { + TB_PLATE_MANUAL manual = new TB_PLATE_MANUAL(); + manual.PLATE_NO = itemGP_PLATE.PLATE_NO; + manual.ORD_NO = order.ORD_NO; + manual.ORD_ITEM = order.ORD_ITEM; + manual.RETURN_RESULTS = "G1特种钢判断"; + guTB_PLATE_MANUAL.Add(manual); + } + //logger.InfoFormat("钢板:{0},订单号:{1},协议号:{2},G1特种钢", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM); + continue; + } + + if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) + { + if ((ConverDataToDecimal(itemGP_PLATE.LEN) >= ConverDataToDecimal(order.ORD_LEN_MIN) + && ConverDataToDecimal(itemGP_PLATE.LEN) <= ConverDataToDecimal(order.ORD_LEN_MAX))) + { + if (ConverDataToString(itemGP_PLATE.SUB_LACK_CON) == String.Empty + && itemGP_PLATE.PROC_CD == "XAC" + && itemGP_PLATE.WID == order.ORD_WID + ) + { + itemGP_PLATE.SUB_FULL = "C"; + } + } + } + + //20240308 区分是否为WG仓库,用以存储至WG仓库手动确认界面 + bool IsWG = false; + //不是手动替代 + if (!isMANUAL) + { + //垛位号 + if (!string.IsNullOrEmpty(itemGP_PLATE.LOC)) + { + //20240116 刘桂英改 垛位管控不受钢种限制,原规则:余材是镍系钢情况下,不考虑货位情况。 + //替代货位配置 仓库一致,包含垛位,配置不可替代(N),替代类型一致 + if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV + && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + { + //20240308 喜处通知,针对WG库 ,增加人工替代确认界面, + if (gltLOCDiffDays.Where(p => p.WAREH_MANAGE_CLASS == itemGP_PLATE.CUR_INV && itemGP_PLATE.CUR_INV == "WG" + && itemGP_PLATE.LOC.Contains(p.LOC) && p.SUB_MODE == "N" + && p.SUB_KND == itemGP_PLATE.SUB_FULL).ToList().Count > 0) + { + //wg仓库可替代余材已存在 + if (gREMA_LOC_WG.Where(p => p.PLATE_NO == itemGP_PLATE.PLATE_NO).ToList().Count > 0) + { + continue; + } + else + { + IsWG = true; + logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); + } + } + else + { + continue; + } + } + } + } - //#endregion + #endregion #endregion @@ -3524,9 +3530,6 @@ namespace ibk.IPD.Controller.IPD_PS TimeSpan timeDifference_2 = DATE_4 - DATE_3; logger.InfoFormat("******* 结束统计匹配数据 {0},{1},用时:{2}*******", intAllLoop, gTEMP_DATA.Count, timeDifference_2); - - - #region 异标准维护程序 @@ -3548,6 +3551,11 @@ namespace ibk.IPD.Controller.IPD_PS YCTD_WH_NO_COPY yCTD_WH_NO = new YCTD_WH_NO_COPY(); yCTD_WH_NO.STANDARD_NO = yCTD.STANDARD_NO;//标准号 yCTD_WH_NO.TD_STANDARD_NO = yCTD.TD_STANDARD_NO;//替代标准 + + yCTD_WH_NO.STDSPEC_STLGRD = yCTD.STDSPEC_STLGRD; + yCTD_WH_NO.STEEL_GRD_DETAIL = yCTD.STEEL_GRD_DETAIL; + yCTD_WH_NO.STD_FLG = yCTD.STD_FLG; + yCTD_WH_NO.TD_FL = "不维护"; yCTD_WH_NO.THK_TOL_MIN = yCTD.THK_TOL_MIN; yCTD_WH_NO.THK_TOL_MAX = yCTD.THK_TOL_MAX; @@ -3568,6 +3576,9 @@ namespace ibk.IPD.Controller.IPD_PS YCTD_WH_NO yCTD_WH_NO = new YCTD_WH_NO(); yCTD_WH_NO.STANDARD_NO = yCTD.STANDARD_NO;//标准号 yCTD_WH_NO.TD_STANDARD_NO = yCTD.TD_STANDARD_NO;//替代标准 + yCTD_WH_NO.STDSPEC_STLGRD = yCTD.STDSPEC_STLGRD; + yCTD_WH_NO.STEEL_GRD_DETAIL = yCTD.STEEL_GRD_DETAIL; + yCTD_WH_NO.STD_FLG = yCTD.STD_FLG; yCTD_WH_NO.TD_FL = "待维护"; yCTD_WH_NO.THK_TOL_MIN = yCTD.THK_TOL_MIN; yCTD_WH_NO.THK_TOL_MAX = yCTD.THK_TOL_MAX; @@ -3583,6 +3594,9 @@ namespace ibk.IPD.Controller.IPD_PS YCTD_WH_NO yCTD_WH_NO = new YCTD_WH_NO(); yCTD_WH_NO.STANDARD_NO = yCTD.STANDARD_NO;//标准号 yCTD_WH_NO.TD_STANDARD_NO = yCTD.TD_STANDARD_NO;//替代标准 + yCTD_WH_NO.STDSPEC_STLGRD = yCTD.STDSPEC_STLGRD; + yCTD_WH_NO.STEEL_GRD_DETAIL = yCTD.STEEL_GRD_DETAIL; + yCTD_WH_NO.STD_FLG = yCTD.STD_FLG; yCTD_WH_NO.TD_FL = "待维护"; yCTD_WH_NO.THK_TOL_MIN = yCTD.THK_TOL_MIN; yCTD_WH_NO.THK_TOL_MAX = yCTD.THK_TOL_MAX; @@ -4660,6 +4674,34 @@ namespace ibk.IPD.Controller.IPD_PS return reListREMA_LOC_WG; } + /// + /// 异钢种替代工艺 + /// + /// + public static IList getQP_QLTY_TECH_REPLACE() + { + StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量 + DataTable dtCheck = new DataTable(); + IList ltQP_QLTY_TECH_REPLACE = new List(); + + strSql.AppendLine("SELECT * FROM NISCO.QP_QLTY_TECH_REPLACE"); + + try + { + //开启数据库连接查询数据 + using (IDbContext db = ObjectContainer.GetObject("db_sur")) + { + ltQP_QLTY_TECH_REPLACE = db.Query(strSql.ToString()); + } + } + catch (Exception ex) + { + logger.Error("GetQP_QLTY_TECH_REPLACE 报错 : ", ex); + } + + return ltQP_QLTY_TECH_REPLACE; + } + /// /// 获取所有待确认数据 @@ -6673,14 +6715,53 @@ namespace ibk.IPD.Controller.IPD_PS } else { + string strYesOrNo = "否"; + + string strHTM_METH = ConvertToString(prorde.HTM_METH1) + + ConvertToString(prorde.HTM_METH2) + + ConvertToString(prorde.HTM_METH3); //是否热处理 + + string strDiffCode = "0";//默认不做热处理 + + if (strHTM_METH.Trim() != string.Empty) + { + strDiffCode = "1";//做热处理 + } + if (gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).Count()>0) + { + + var FSlab = gFP_SLAB.Where(p => p.SLAB_NO == prP_PLATE.SLAB_NO).FirstOrDefault(); + if (glQpQltyTechReplace.Where(p => p.MILL_PLT == FSlab.PLAN_MILL_PLT + && p.ORESTLGRD == prP_PLATE.STEEL_GRD_DETAIL + && p.TGT_STLGRD == prorde.STDSPEC_STLGRD + && p.ORD_THK_MIN <= ConverDataToDecimal(prorde.ORD_THK) + && p.ORD_THK_MAX >= ConverDataToDecimal(prorde.ORD_THK) + && (p.MES_STDSPEC == prorde.STDSPEC || p.MES_STDSPEC == "*") + && p.SLAB_THK_MIN <= FSlab.THK + && p.SLAB_THK_MAX >= FSlab.THK + && p.COOLHOT_LOAD == "0" + && p.DIFFER_CODE == strDiffCode).Count() >0) + { + strYesOrNo = "是"; + } + + } + + decimal decRate = Math.Round((((Convert.ToDecimal(prorde.ORD_WID) * Convert.ToDecimal(prorde.ORD_LEN) * Convert.ToDecimal(1)) + / (Convert.ToDecimal(prP_PLATE.WID) * Convert.ToDecimal(prP_PLATE.LEN))) * 100), 2); + //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.STEEL_GRD_DETAIL = prP_PLATE.STEEL_GRD_DETAIL; + yCTD_WH_NO.STDSPEC_STLGRD = prorde.STDSPEC_STLGRD; + yCTD_WH_NO.STD_FLG = strYesOrNo; yCTD_WH_NO.STANDARD_NO = prP_PLATE.APLY_STDSPEC;//标准号 yCTD_WH_NO.TD_STANDARD_NO = prorde.STDSPEC;//替代标准 yCTD_WH_NO.THK_TOL_MIN = prP_PLATE.THK_TOL_MIN;//公差最小值 yCTD_WH_NO.THK_TOL_MAX = prP_PLATE.THK_TOL_MAX;//公差最大值 yCTD_WH_NO.TD_FL = ""; - yCTD_WH_NO.REMARK =string.Format("钢板号:{0};订单号:{1}-{2}.", prP_PLATE.PLATE_NO , prorde.ORD_NO, prorde.ORD_ITEM); + yCTD_WH_NO.REMARK = string.Format("成材率:{3};钢板号:{0};订单号:{1}-{2}.", prP_PLATE.PLATE_NO, prorde.ORD_NO, prorde.ORD_ITEM, decRate.ToString()+"%"); 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); @@ -6745,6 +6826,36 @@ namespace ibk.IPD.Controller.IPD_PS } } } + /// + /// 转换字符串 + /// + /// + /// + public static string ConvertToString(object str) + { + if (str == null) + { + return string.Empty; + } + return Convert.ToString(str); + } + + ///// + ///// Null转换Decimal + ///// + ///// 参数 + ///// + //public static decimal ConverDataToDecimal(object obj) + //{ + // if (obj == null) + // { + // return 0; + // } + // else + // { + // return Convert.ToDecimal(obj); + // } + //} /// /// 厚度公差对比 diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubService.cs b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubService.cs index cdadb06..08a0153 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubService.cs +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/SurMatSubService.cs @@ -426,6 +426,10 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(" AND A.ORD_FL = '1' "); strSql.AppendLine(" AND B.REC_STS = '1') + (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100) / TRUNC(((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85, 3)) AS LACK_NUM "); + + strSql.AppendLine(",QSH.STDSPEC_STLGRD"); + + strSql.AppendLine("FROM NISCO.cp_prc CPP "); strSql.AppendLine("INNER JOIN "); strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); @@ -455,6 +459,12 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine("ON MATR.ORD_NO = boi.ORD_NO "); strSql.AppendLine("AND MATR.ORD_ITEM= boi.ORD_ITEM"); + + strSql.AppendLine("LEFT JOIN NISCO.QP_STD_HEAD QSH "); + strSql.AppendLine(" ON boi.STDSPEC = QSH.STDSPEC "); + strSql.AppendLine(" AND boi.STDSPEC_YY = QSH.STDSPEC_YY "); + + strSql.AppendLine("LEFT JOIN NISCO.EP_REQ_SLAB_D EP_SLAB_D"); strSql.AppendLine("ON EP_SLAB_D.ORD_NO = QQD.ORD_NO "); strSql.AppendLine("AND EP_SLAB_D.REQ_SEQ_NO= EP_SLAB_D.REQ_SEQ_NO"); @@ -860,7 +870,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(", CASE WHEN gpr.THK > 0 and gp.PROC_CD <> 'XAC' THEN gpr.THK ELSE gp.THK END THK"); strSql.AppendLine(", CASE WHEN gpr.WID > 0 and gp.PROC_CD <> 'XAC' THEN gpr.WID ELSE gp.WID END WID"); strSql.AppendLine(", CASE WHEN gpr.LEN > 0 and gp.PROC_CD <> 'XAC' THEN gpr.LEN ELSE gp.LEN END LEN"); - + strSql.AppendLine(",QNC.STEEL_GRD_DETAIL "); //20231129新增 strSql.AppendLine(", GP.THK AS GP_THK ,GP.WID AS GP_WID ,GP.LEN AS GP_LEN,GP.WGT AS GP_WGT "); @@ -923,6 +933,9 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine("LEFT JOIN NISCO.GP_INSPPLATE GI ON GI.MAT_NO = GP.PLATE_NO "); strSql.AppendLine("LEFT JOIN NISCO.GP_USTRESULT UST ON UST.PLATE_NO = GP.PLATE_NO "); strSql.AppendLine("LEFT JOIN NISCO.GP_REMARK RE ON RE.MAT_NO = GP.PLATE_NO "); + + strSql.AppendLine("LEFT JOIN NISCO.QP_NISCO_CHMC QNC ON QNC.STLGRD = GP.STLGRD"); + strSql.AppendLine("LEFT JOIN NISCO.QP_QLTY_MATR MATR "); strSql.AppendLine("ON MATR.ORD_NO = boo.ORD_NO "); strSql.AppendLine("AND MATR.ORD_ITEM= boo.ORD_ITEM"); @@ -994,7 +1007,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(", CASE WHEN gpr.THK > 0 and gp.PROC_CD <> 'XAC' THEN gpr.THK ELSE gp.THK END THK"); strSql.AppendLine(", CASE WHEN gpr.WID > 0 and gp.PROC_CD <> 'XAC' THEN gpr.WID ELSE gp.WID END WID"); strSql.AppendLine(", CASE WHEN gpr.LEN > 0 and gp.PROC_CD <> 'XAC' THEN gpr.LEN ELSE gp.LEN END LEN"); - + strSql.AppendLine(",QNC.STEEL_GRD_DETAIL "); //20231129新增 strSql.AppendLine(", GP.THK AS GP_THK ,GP.WID AS GP_WID ,GP.LEN AS GP_LEN,GP.WGT AS GP_WGT"); @@ -1057,6 +1070,7 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine("LEFT JOIN NISCO.GP_INSPPLATE GI ON GI.MAT_NO = GP.PLATE_NO "); strSql.AppendLine("LEFT JOIN NISCO.GP_USTRESULT UST ON UST.PLATE_NO = GP.PLATE_NO "); strSql.AppendLine("LEFT JOIN NISCO.GP_REMARK RE ON RE.MAT_NO = GP.PLATE_NO "); + strSql.AppendLine("LEFT JOIN NISCO.QP_NISCO_CHMC QNC ON QNC.STLGRD = GP.STLGRD"); strSql.AppendLine("LEFT JOIN NISCO.QP_QLTY_MATR MATR "); strSql.AppendLine("ON MATR.ORD_NO = boo.ORD_NO "); strSql.AppendLine("AND MATR.ORD_ITEM= boo.ORD_ITEM"); @@ -1151,6 +1165,8 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine(",MATR.ROUNDSTD "); strSql.AppendLine(",count(EP_SLAB_D.REQ_SEQ_NO) SLAB_LACK_NUM , count(EP_SLAB_D.REQ_SEQ_NO) + FLOOR( (NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100)/ TRUNC(((BOI.ORD_WID / 1000) * (BOI.ORD_LEN / 1000) * (BOI.ORD_THK / 1000)) * 7.85,3)) AS LACK_NUM "); + strSql.AppendLine(",QSH.STDSPEC_STLGRD"); + strSql.AppendLine("FROM NISCO.cp_prc CPP "); strSql.AppendLine("INNER JOIN "); strSql.AppendLine("NISCO.BP_ORDER_ITEM boi "); @@ -1190,6 +1206,10 @@ namespace ibk.IPD.Service.IPD_PS strSql.AppendLine("AND EP_SLAB_D.SEQ >= '01'"); strSql.AppendLine("AND EP_SLAB_B.REC_STS = '1'"); + strSql.AppendLine("LEFT JOIN NISCO.QP_STD_HEAD QSH "); + strSql.AppendLine(" ON boi.STDSPEC = QSH.STDSPEC "); + strSql.AppendLine(" AND boi.STDSPEC_YY = QSH.STDSPEC_YY "); + //TODO:TEST_DATA //strSql.AppendLine("WHERE 1=1 "); //strSql.AppendLine(" AND ((SELECT COUNT( A.REQ_SEQ_NO) "); diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.exe b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.exe index c9416c6..3086343 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.exe and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.exe differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.pdb b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.pdb index 6ab0b35..8a840d9 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.pdb and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/bin/Debug/PlateAnalysisStandard.pdb differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 694bd78..0c1d3c2 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.AssemblyReference.cache b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.AssemblyReference.cache index 2e5a0e7..b7fa1e2 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.AssemblyReference.cache and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.AssemblyReference.cache differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.CoreCompileInputs.cache b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.CoreCompileInputs.cache index 9c1472e..6eb05a3 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.CoreCompileInputs.cache +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e7a0ed2a0319b6b353f2d0f8cbe0c89f57bf1431 +e3c9eb27013f90f3673691b00081b3434425f5f1 diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.FileListAbsolute.txt b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.FileListAbsolute.txt index adb8597..a87939c 100644 --- a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.FileListAbsolute.txt +++ b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.csproj.FileListAbsolute.txt @@ -30,3 +30,19 @@ D:\_NGProject\ipd-file\余材异标准维护\PlateAnalysisStandard\PlateAnalysis D:\_NGProject\ipd-file\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.csproj.CopyComplete D:\_NGProject\ipd-file\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.exe D:\_NGProject\ipd-file\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.pdb +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\PlateAnalysisStandard.exe.config +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\PlateAnalysisStandard.exe +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\PlateAnalysisStandard.pdb +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\Newtonsoft.Json.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\System.Buffers.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\System.Memory.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\System.Net.Http.Formatting.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\System.Numerics.Vectors.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.csproj.AssemblyReference.cache +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.csproj.SuggestedBindingRedirects.cache +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.exe.config +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.csproj.CoreCompileInputs.cache +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.csproj.CopyComplete +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.exe +D:\_NG_1\NG_Project\余材异标准维护\PlateAnalysisStandard\PlateAnalysisStandard\obj\Debug\PlateAnalysisStandard.pdb diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.exe b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.exe index c9416c6..3086343 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.exe and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.exe differ diff --git a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.pdb b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.pdb index 6ab0b35..8a840d9 100644 Binary files a/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.pdb and b/余材异标准维护/PlateAnalysisStandard/PlateAnalysisStandard/obj/Debug/PlateAnalysisStandard.pdb differ diff --git a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/FileContentIndex/7b8838e3-f01b-466a-9d0f-f02a910c8c00.vsidx b/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/FileContentIndex/7b8838e3-f01b-466a-9d0f-f02a910c8c00.vsidx deleted file mode 100644 index cee87ea..0000000 Binary files a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/FileContentIndex/7b8838e3-f01b-466a-9d0f-f02a910c8c00.vsidx and /dev/null differ diff --git a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo b/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo index 6a8edfd..1b9fd58 100644 Binary files a/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo and b/余材替代程序/SinglePlateHandle/.vs/SinglePlateHandle/v17/.suo differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj index 3408fbd..317c8d4 100644 --- a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj +++ b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SinglePlateHandle.csproj @@ -237,6 +237,7 @@ + diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe index 9ad0194..1a48501 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.exe differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb index ca655d3..b4abf16 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/bin/Debug/SinglePlateHandle.pdb differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 508f9aa..ba52e36 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache index c7cd999..ef6d646 100644 --- a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache +++ b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -f2b6a7505f23c440e1d165b68582c10757f1e477 +bd3cb3de55817ef298700d9ac2099473ffcd480c diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe index 9ad0194..1a48501 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.exe differ diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb index ca655d3..b4abf16 100644 Binary files a/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb and b/余材替代程序/SinglePlateHandle/SinglePlateHandle/obj/Debug/SinglePlateHandle.pdb differ diff --git a/前端程序/ipd-frontend/src/pages/materialsSubstitution/YCTDWHNO.tsx b/前端程序/ipd-frontend/src/pages/materialsSubstitution/YCTDWHNO.tsx index a8d2d12..0a812c3 100644 --- a/前端程序/ipd-frontend/src/pages/materialsSubstitution/YCTDWHNO.tsx +++ b/前端程序/ipd-frontend/src/pages/materialsSubstitution/YCTDWHNO.tsx @@ -206,10 +206,14 @@ const Main = () => { width: 50, fixed: 'left', }, + { title: '板坯钢种', dataIndex: 'STEEL_GRD_DETAIL', key: 'STEEL_GRD_DETAIL', width: 100, ellipsis: true }, + { title: '订单牌号', dataIndex: 'STDSPEC_STLGRD', key: 'STDSPEC_STLGRD', width: 100, ellipsis: true }, + { title: '是否异钢种', dataIndex: 'STD_FLG', key: 'STD_FLG', width: 100, ellipsis: true }, + { title: '标准号', dataIndex: 'STANDARD_NO', key: 'STANDARD_NO', width: 100, ellipsis: true }, { title: '可替代标准号', dataIndex: 'TD_STANDARD_NO', key: 'TD_STANDARD_NO', width: 100, ellipsis: true }, { title: '维护区分', dataIndex: 'TD_FL', key: 'TD_FL', width: 100, ellipsis: true }, - { title: '备注', dataIndex: 'REMARK', key: 'REMARK', width: 100, ellipsis: true }, + { title: '备注', dataIndex: 'REMARK', key: 'REMARK', width: 450, ellipsis: true }, // { title: '公差下限', dataIndex: 'THK_TOL_MIN', key: 'THK_TOL_MIN', width: 100, ellipsis: true }, // { title: '公差上限', dataIndex: 'THK_TOL_MAX', key: 'THK_TOL_MAX', width: 100, ellipsis: true }, { title: '录入时间', dataIndex: 'INS_DATE', key: 'INS_DATE', width: 100, ellipsis: true }, diff --git a/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo b/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo index 31eafe5..0f8ff15 100644 Binary files a/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo and b/后端接口/ipd-server/.vs/iBkLinker-IPD/v17/.suo differ diff --git a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll index 5acf056..649c892 100644 Binary files a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll and b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.dll differ diff --git a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb index 4920d5a..68ef0ad 100644 Binary files a/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb and b/后端接口/ipd-server/Debug/iBKLinker.IPD.Service.pdb differ diff --git a/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs b/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs index 61be892..1bee7a2 100644 --- a/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs +++ b/后端接口/ipd-server/Service/Controller/IPD-PS/SurplusMaterialSubstitutionController.cs @@ -1667,15 +1667,15 @@ namespace ibk.IPD.Controller.IPD_PS //strSql.AppendLine(" ) WHERE rn = 1 "); strSql.AppendLine("SELECT * FROM( "); - strSql.AppendLine(" SELECT STANDARD_NO, TD_STANDARD_NO, INS_DATE, UPD_DATE, TD_FL,THK_TOL_MIN,THK_TOL_MAX,REMARK "); + strSql.AppendLine(" SELECT STANDARD_NO, TD_STANDARD_NO, INS_DATE, UPD_DATE, TD_FL,THK_TOL_MIN,THK_TOL_MAX,REMARK ,STEEL_GRD_DETAIL,STDSPEC_STLGRD,STD_FLG "); strSql.AppendLine("FROM ( "); strSql.AppendLine(" SELECT "); strSql.AppendLine(" STANDARD_NO, "); strSql.AppendLine(" TD_STANDARD_NO, "); strSql.AppendLine("INS_DATE, "); strSql.AppendLine("UPD_DATE, "); - strSql.AppendLine("TD_FL, THK_TOL_MIN,THK_TOL_MAX ,REMARK, "); - strSql.AppendLine(" ROW_NUMBER() OVER(PARTITION BY STANDARD_NO, TD_STANDARD_NO ORDER BY INS_DATE DESC) AS rn "); + strSql.AppendLine("TD_FL, THK_TOL_MIN,THK_TOL_MAX ,REMARK, STEEL_GRD_DETAIL,STDSPEC_STLGRD,STD_FLG "); + strSql.AppendLine(" ,ROW_NUMBER() OVER(PARTITION BY STANDARD_NO, TD_STANDARD_NO ORDER BY INS_DATE DESC) AS rn "); strSql.AppendLine(" FROM YCTD_WH_NO "); strSql.AppendLine(" ) WHERE rn = 1 "); strSql.AppendLine(" UNION ALL "); @@ -1758,7 +1758,7 @@ namespace ibk.IPD.Controller.IPD_PS //bool b = true; foreach (var model in delModel) { - strSql.AppendLine(" INSERT INTO YCTD_WH_NO_COPY (STANDARD_NO, TD_STANDARD_NO, INS_DATE, UPD_DATE, TD_FL,THK_TOL_MIN,THK_TOL_MAX,REMARK) VALUES ( "); + strSql.AppendLine(" INSERT INTO YCTD_WH_NO_COPY (STANDARD_NO, TD_STANDARD_NO, INS_DATE, UPD_DATE, TD_FL,THK_TOL_MIN,THK_TOL_MAX,REMARK,STEEL_GRD_DETAIL,STDSPEC_STLGRD,STD_FLG) VALUES ( "); strSql.AppendLine(string.Format(" '{0}', ", model.STANDARD_NO)); strSql.AppendLine(string.Format(" '{0}', ", model.TD_STANDARD_NO)); strSql.AppendLine(string.Format(" '{0}', ", DateTime.Now.ToString("yyyyMMddHHmmss"))); @@ -1767,6 +1767,9 @@ namespace ibk.IPD.Controller.IPD_PS strSql.AppendLine(string.Format(" '{0}', ", model.THK_TOL_MIN)); strSql.AppendLine(string.Format(" '{0}' ", model.THK_TOL_MAX)); strSql.AppendLine(string.Format(" '{0}' ", model.REMARK)); + strSql.AppendLine(string.Format(" '{0}' ", model.STEEL_GRD_DETAIL)); + strSql.AppendLine(string.Format(" '{0}' ", model.STDSPEC_STLGRD)); + strSql.AppendLine(string.Format(" '{0}' ", model.STD_FLG)); strSql.AppendLine(string.Format(" ) ")); db.Execute(strSql.ToString()); diff --git a/后端接口/ipd-server/Service/Entity/IPD-PS/YCTD_WH_NO.cs b/后端接口/ipd-server/Service/Entity/IPD-PS/YCTD_WH_NO.cs index cb13702..1cb6cfd 100644 --- a/后端接口/ipd-server/Service/Entity/IPD-PS/YCTD_WH_NO.cs +++ b/后端接口/ipd-server/Service/Entity/IPD-PS/YCTD_WH_NO.cs @@ -38,5 +38,15 @@ namespace ibk.IPD.Entity.IpdPs [Persistent("UPD_DATE"), DisplayName("修改日期")] public string UPD_DATE { get; set; } + [Persistent("STEEL_GRD_DETAIL"), DisplayName("板坯钢种")] + public string STEEL_GRD_DETAIL { get; set; } + + [Persistent("STDSPEC_STLGRD"), DisplayName("订单牌号")] + public string STDSPEC_STLGRD { get; set; } + + + [Persistent("STD_FLG"), DisplayName("是否异钢种")] + public string STD_FLG { get; set; } + } } diff --git a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll index 5acf056..649c892 100644 Binary files a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll and b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.dll differ diff --git a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb index 4920d5a..68ef0ad 100644 Binary files a/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb and b/后端接口/ipd-server/Service/obj/Debug/iBKLinker.IPD.Service.pdb differ