Compare commits

...

4 Commits

Author SHA1 Message Date
sunhao 1a2a7687bb Merge remote-tracking branch 'origin/main'
# Conflicts:
#	XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java
3 weeks ago
sunhao 4af54bed32 2025-03-21 3 weeks ago
sunhao 69bf3cc4f3 2025-03-20 3 weeks ago
sunhao 149a04f0af 2025-03-20 3 weeks ago

@ -417,10 +417,15 @@ public class SubController {
try {
gltGCalGrp = new ArrayList<>();
gltGCal2Grp = new ArrayList<>();
//二次分组
SetGrpDataBySlab(p);
//数据小的情况,计算拼板。数据量大不计算
if (gltGCalGrp.size()<=100)
{
SetGrpConBinDataBySlab(p);
}
logger.info("***二次分组1数量*** " + gltGCalGrp.size());
//执行日志保存
@ -480,9 +485,8 @@ public class SubController {
SetGroupCalRslt(p);
logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size());
logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltSelGGrpCalRslt.size());
logger.info("所有结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size());
logger.info("选择结果数据板坯号:{};数量:{}", p.getSlabNo(), gltSelGGrpCalRslt.size());
//执行日志保存
subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "结果数据数量1" + gltGGrpCalRslt.size(), organizationId);
subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "结果数据数量2" + gltSelGGrpCalRslt.size(), organizationId);
@ -494,8 +498,6 @@ public class SubController {
SaveHisData(p);
//数据整理
SetSaveDate(p,organizationId);
//执行日志保存
subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "数据整理完成", organizationId);
//开启事务
//TransactionStatus transactionStatus = transactionService.begin();
try {
@ -504,9 +506,6 @@ public class SubController {
//transactionService.commit(transactionStatus);
} catch (Exception e) {
logger.error("保存事务回滚:" + p.getSlabNo(), e);
//执行日志保存
subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "数据保存失败" + e, organizationId);
//回滚事务
//transactionService.rollback(transactionStatus);
}
@ -607,6 +606,7 @@ public class SubController {
public void GetDataInfo(SubParams subParams) {
logger.info("*****开始获取数据******");
//region ***多线程获取基础数据***
@ -934,6 +934,7 @@ public class SubController {
//压缩比 Compression ratio
//宽展比 Wide ratio
//GCG.getLtInfoGPreOrder().stream().filter(e->e.)
//最大宽度
@ -947,7 +948,8 @@ public class SubController {
try {
//同钢种判断
if (!SInfo.getStNo().equals(f.getInfoPmContMscTechDO().getStNo())) {
if (!SInfo.getStNo().equals(f.getInfoPmContMscTechDO().getStNo()))
{
return;
}
@ -1003,6 +1005,12 @@ public class SubController {
//厚度
GCG.setOrder_Thk(decThkOrd);
//标准
GCG.setSG_STD(GCG.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getSgStd());
//内部钢种
GCG.setST_NO(GCG.getLtInfoGPreOrder().get(0).getST_NO());
//压缩比
BigDecimal decThkRate =decThkOrd.divide(SInfo.getSlabActThk(), 2, RoundingMode.HALF_UP);
@ -1040,15 +1048,18 @@ public class SubController {
&& p.getCombinePlateWidthFrom().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) <= 0
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
)) {
if (GCG.getLtInfoGPreOrder().get(0) == null) {
if (GCG.getLtInfoGPreOrder().get(0)==null)
{
}
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO() == null) {
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO()==null)
{
}
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType() == null) {
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()==null)
{
}
@ -1089,7 +1100,8 @@ public class SubController {
String strWithSideFlag = "C";
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark()==null
|| GCG.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark().equals("")) {
|| GCG.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark().equals(""))
{
strWithSideFlag="C";
}else{
strWithSideFlag=GCG.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark();
@ -1154,19 +1166,25 @@ public class SubController {
synchronized (gltGCal2Grp) {
gltGCalGrp.parallelStream().forEach(e -> {
gltGCalGrp.parallelStream().forEach(f -> {
gltGCalGrp.forEach(f -> {
List<String> ltInfoOrder = new ArrayList<>();
//宽度满足要求和厚度相同
if (f.getWid() + e.getWid() < 4980 && e.getThk().equals(f.getThk())) {
if (f.getWid()+e.getWid()<4980
&& e.getThk().compareTo(f.getThk())==0
&& e.getST_NO().equals(f.getST_NO())
&& e.getThickTolMin().compareTo(f.getThickTolMin())==0
&& e.getThickTolMax().compareTo(f.getThickTolMax())==0
){
e.getLtInfoGPreOrder().forEach(i -> {
f.getLtInfoGPreOrder().forEach(j -> {
//排己
if (i.getIDValue() == j.getIDValue()) {
if (i.getIDValue()==j.getIDValue())
{
return;
}
@ -1175,7 +1193,8 @@ public class SubController {
GPreOrder GPO2=j;
//组合数据的数量,提升效率,大于二十
if (ltInfoOrder.stream().filter(m -> m.equals(GPO1.getOrderNo() + "_" + GPO2.getOrderNo())).count() > 20) {
if(ltInfoOrder.stream().filter(m->m.equals(GPO1.getOrderNo()+"_"+GPO2.getOrderNo())).count()>20)
{
return;
}
@ -1209,6 +1228,9 @@ public class SubController {
GPO.getLtInfoCombGPreOrder().add(GCB2);
//内部钢种
GPO.setST_NO(GPO1.getST_NO());
// 设置厚度
GPO.setThk(GPO1.getInfoPmProContProdAttrDO().getOrderThick());
// 设置宽度
@ -1241,9 +1263,12 @@ public class SubController {
if (gltGCal2Grp.stream().filter(p ->
p.getLtInfoGPreOrder().stream().anyMatch(q ->
q.getLtInfoCombGPreOrder().stream().anyMatch(r ->
r.getInfoGPreOrder() != null && r.getInfoGPreOrder().getOrderNo().equals(GPO1.getOrderNo()))
r.getInfoGPreOrder()!=null
&& r.getInfoGPreOrder().getOrderNo().equals(GPO1.getOrderNo()) )
&& q.getLtInfoCombGPreOrder().stream().anyMatch(r ->
r.getInfoGPreOrder() != null && r.getInfoGPreOrder().getOrderNo().equals(GPO2.getOrderNo())))).count() > 0) {
r.getInfoGPreOrder()!=null
&& r.getInfoGPreOrder().getOrderNo().equals(GPO2.getOrderNo()))))
.count() > 0) {
try {
@ -1280,6 +1305,12 @@ public class SubController {
//相同组合信息
GCG.getLtInfoGPreOrder().add(GPO);
//内部钢种
GCG.setST_NO(GPO.getST_NO());
//标准
GCG.setSG_STD(GPO.getInfoPmProContProdAttrDO().getSgStd());
//宽度两个宽度的和
int maxWidth = GPO.getLtInfoCombGPreOrder().stream()
.mapToInt(GComBOrder::getWid)
@ -1338,15 +1369,18 @@ public class SubController {
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth + maxAddWidth.orElse(0))) >= 0
)) {
if (GCG.getLtInfoGPreOrder().get(0) == null) {
if (GCG.getLtInfoGPreOrder().get(0)==null)
{
}
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO() == null) {
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO()==null)
{
}
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType() == null) {
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()==null)
{
}
@ -1491,13 +1525,14 @@ public class SubController {
ltLrc = plistQdToLineupResultCheDO.stream().filter(p -> p.getOrderNo().equals(GrpOrd.getOrderNo()) && p.getCheType().equals("RX")).collect(Collectors.toList());
}
//信息不存在返回
//信息不存在返回 TODO:订单信息不存在,化学成分验证成功
if (ltLrc.size() == 0) {
return false;
return true;
}
List<QeTqHeatcheStandResultDO> ltQthsr = plistQeTqHeatcheStandResultDO.stream().filter(p -> p.getPono().equals(SInfo.getPono())).collect(Collectors.toList());
try {
//判断合同的每个化学成分是否满足条件
boolean blnChk = ltLrc.stream().anyMatch(p -> {
if (!ltQthsr.stream().anyMatch(e -> e.getElm().equals(p.getElm())
@ -1511,6 +1546,11 @@ public class SubController {
if (!blnChk) {
return false;
}
}catch (Exception ex)
{
return false;
}
return true;
}
@ -2007,6 +2047,8 @@ public class SubController {
GPO.setInfoPmContMscTechDO(pcmt);
//合同
GPO.setInfoQdToPoOrderDO(qtpo);
//内部钢种
GPO.setST_NO(pcmt.getStNo());
// 将创建的订单对象添加到全局订单列表中
gltOrder.add(GPO);
@ -2057,7 +2099,8 @@ public class SubController {
if (plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).count() > 0) {
// 可能抛出异常的代码
pcmt = plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmContMscTechDO found with name Charlie " + i.getOrderNo()));
if (plistQdToPoOrderDO.stream().anyMatch(e -> e.getOrderNo().equals(i.getOrderNo()))) {
if (plistQdToPoOrderDO.stream().anyMatch(e ->e.getOrderNo().equals(i.getOrderNo())))
{
qtpo=plistQdToPoOrderDO.stream().filter(e -> e.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmContMscTechDO found with name Charlie " + i.getOrderNo()));
SetAllOrder(i, ppcpa, pcmt,qtpo);
@ -2098,12 +2141,12 @@ public class SubController {
// 检查当前订单是否与已有的分组匹配
if (gltGrpOrderFir.stream().anyMatch(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth()) &&
e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick()) &&
e.getSG_STD().equals(p.getInfoPmProContProdAttrDO().getSgStd()))) {
e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo()))) {
// 如果匹配成功,将订单添加到相应的分组中
GGrpOrderFir GGOF = gltGrpOrderFir.stream().filter(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth())
&& e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick())
&& e.getSG_STD().equals(p.getInfoPmProContProdAttrDO().getSgStd())
&& e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo())
).findFirst().orElse(null);
if (GGOF.getLtInfoGPreOrder() == null) {
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 确保列表已初始化
@ -2119,7 +2162,7 @@ public class SubController {
GGOF.setThk(p.getInfoPmProContProdAttrDO().getOrderThick());
//GGOF.setLen(p.getInfoPmProContProdAttrDO().getOrderLen());
GGOF.setSG_STD(p.getInfoPmProContProdAttrDO().getSgStd());
GGOF.setST_NO(p.getInfoPmContMscTechDO().getStNo());
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 初始化列表
GGOF.getLtInfoGPreOrder().add(p);
gltGrpOrderFir.add(GGOF);
@ -2208,17 +2251,25 @@ public class SubController {
List<GGrpCalRslt> ltTempGrp = new CopyOnWriteArrayList<>();
//交叉分组 .parallelStream() .parallelStream()
gltGCalGrp.forEach(e -> {
gltGCalGrp.parallelStream().forEach(e -> {
gltGCalGrp.forEach(f -> {
try {
//排己
if (e.getIDValue() == f.getIDValue()) {
if(e.getIDValue()==f.getIDValue())
{
return;
}
// logger.info("***交叉分组ID" + e.getIDValue() + "--" + f.getIDValue());
// logger.info("***交叉分组Wid" + e.getWid() + "--" + f.getWid());
//e和f的宽度差绝对值小于500宽度合小于4980厚度相同
if (Math.abs(e.getWid() - f.getWid()) < 500 && e.getWid() + f.getWid() < 4980 && e.getThk().compareTo(f.getThk()) == 0) {
if (Math.abs(e.getWid() - f.getWid()) <500
&& Math.max(e.getWid(),f.getWid()) < 4900
&& e.getThk().compareTo(f.getThk()) == 0
&& e.getST_NO().equals(f.getST_NO())
) {
//实例化计算结果数组
GCalGrp GCP1=e;
@ -2312,7 +2363,8 @@ public class SubController {
}
//测试代码
if (e.getOrderNo() == "52500096071") {
if (e.getOrderNo()=="52500096071" )
{
}
ltOrder.add(e.getOrderNo());//添加订单号
@ -2430,7 +2482,8 @@ public class SubController {
&& e.getCombinePlateWidthFrom().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) <= 0
&& e.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
)) {
if (p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
if (p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()!=null &&
p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
decThkAdd = plistPmThickAddvBtDO.stream().filter(e -> e.getMscLineNo().equals(SInfo.getMscLineNo())
&& e.getTolTypeCode().equals(strThkTolType)
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
@ -2464,7 +2517,8 @@ public class SubController {
int intTrimWid = 0;
String strWithSideFlag = "C";
if (p.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark()==null
|| p.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark().equals("")) {
|| p.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark().equals(""))
{
strWithSideFlag="C";
}else{
strWithSideFlag=p.getLtInfoGPreOrder().get(0).getInfoPmProContProdAttrDO().getProdAMark();
@ -2594,6 +2648,7 @@ public class SubController {
}
BigDecimal slabVolume = SInfo.getSlabActThk()
.multiply(SInfo.getRemWid())
.multiply(BigDecimal.valueOf(p.getVirtualSlab_Len()));
@ -2712,7 +2767,11 @@ public class SubController {
// 筛选 UseFlg == 1 的数据
List<GGrpCalRslt> filteredList = gltGGrpCalRslt.stream()
.filter(g -> Objects.nonNull(g) && Objects.nonNull(g.getIntUseFlg()) && g.getIntUseFlg() == 1)
.filter(g -> Objects.nonNull(g)
&& Objects.nonNull(g.getIntUseFlg())
&& g.getIntUseFlg() == 1
&& g.getLtActInfoGPreOrder().stream().anyMatch(m->m.getCombinationFlag()==1)
&& g.getLtActInfoGPreOrder().stream().anyMatch(m->m.getCombinationFlag()==0))
.collect(Collectors.toList());
// 找到重量最大成材率最大的数据
@ -2779,9 +2838,11 @@ public class SubController {
AtomicInteger index = new AtomicInteger(0);
AtomicInteger intX = new AtomicInteger(maxRate.getHead_Len());
boolean Firstflag = true;
for (int m = 0; m < maxRate.getLtActInfoGPreOrder().size(); m++) {
for(int m = 0; m < maxRate.getLtActInfoGPreOrder().size(); m++)
{
GPreOrder gPreOrder=maxRate.getLtActInfoGPreOrder().get(m);
if (gPreOrder.getCombinationFlag() == 1) {
if (gPreOrder.getCombinationFlag()==1)
{
BigDecimal intY = BigDecimal.valueOf(0);
for (int i = 0; i < gPreOrder.getLtInfoCombGPreOrder().size(); i++) {
@ -3538,7 +3599,6 @@ public class SubController {
public void SetPmSmallPltPos(String mscLineNo, Long organizationId) {
for (int i = 0; i < gltSelGGrpCalRslt.size(); i++) {
GGrpCalRslt ggcr = gltSelGGrpCalRslt.get(i);
Integer smallPlateNum = 0;
for (int j = 0; j < ggcr.getLtActInfoGPreOrder().size(); j++) {
if(ggcr.getLtActInfoGPreOrder().get(j).getCombinationFlag() == 1){
for (int k = 0; k < ggcr.getLtActInfoGPreOrder().get(j).getLtInfoCombGPreOrder().size(); k++) {
@ -3555,7 +3615,7 @@ public class SubController {
if (resultPmProContProdAttrDO.get().getTrimCode().equals("0")) {
pmSmallPltPosDO.setSmallPlateDivNo("000");
} else {
pmSmallPltPosDO.setSmallPlateDivNo(SMALL_PLATE_DIV_NO[smallPlateNum]);
pmSmallPltPosDO.setSmallPlateDivNo(SMALL_PLATE_DIV_NO[j]);
}
pmSmallPltPosDO.setPickModeLenDir(Long.valueOf(j+1));
pmSmallPltPosDO.setPickModeWidDir(Long.valueOf(k+1));
@ -3580,7 +3640,6 @@ public class SubController {
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),mscLineNo,organizationId);
pmSmallPltPosDOList.add(pmSmallPltPosDO);
smallPlateNum += 1;
}
}else{
GPreOrder gpo = ggcr.getLtActInfoGPreOrder().get(j);
@ -3597,7 +3656,7 @@ public class SubController {
if (resultPmProContProdAttrDO.get().getTrimCode().equals("0")) {
pmSmallPltPosDO.setSmallPlateDivNo("000");
} else {
pmSmallPltPosDO.setSmallPlateDivNo(SMALL_PLATE_DIV_NO[smallPlateNum]);
pmSmallPltPosDO.setSmallPlateDivNo(SMALL_PLATE_DIV_NO[j]);
}
pmSmallPltPosDO.setPickModeLenDir(Long.valueOf(j+1));//TODO 取板方式 长度方向 列数累加
pmSmallPltPosDO.setPickModeWidDir(1L);//TODO 取板方式 宽度方向 第一行
@ -3622,7 +3681,6 @@ public class SubController {
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),mscLineNo,organizationId);
pmSmallPltPosDOList.add(pmSmallPltPosDO);
smallPlateNum += 1;
}
}
}

@ -40,6 +40,9 @@ public class GCalGrp {
//标准
private String SG_STD;
//标准
private String ST_NO;
//宽度余量
private int Wid_Add;
//最大轧制长度

@ -20,6 +20,9 @@ public class GGrpOrderFir {
private Integer Len;
//标准
private String SG_STD;
//内部钢种
private String ST_NO;
//合同产线
private String Line ;
//合同信息

@ -35,6 +35,9 @@ public class GPreOrder {
//厚度
private BigDecimal Thk;
//内部钢种
private String ST_NO;
//长度
private int Len;

@ -12,10 +12,7 @@ spring:
maximum-pool-size: ${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:200}
# 等待连接池分配连接的最大时长(毫秒)
connection-timeout: ${SPRING_DATASOURCE_CONNECTION_TIMEOUT:30000}
devtools:
restart:
enabled: true # 启用自动重启功能
interval: 5000 # 设置检查类路径变化的间隔时间为 5 秒5000 毫秒)
redis:
host: ${SPRING_REDIS_HOST:172.18.15.29}
port: ${SPRING_REDIS_PORT:6379}

@ -12,10 +12,7 @@ spring:
maximum-pool-size: ${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:200}
# 等待连接池分配连接的最大时长(毫秒)
connection-timeout: ${SPRING_DATASOURCE_CONNECTION_TIMEOUT:30000}
devtools:
restart:
enabled: true # 启用自动重启功能
interval: 5000 # 设置检查类路径变化的间隔时间为 5 秒5000 毫秒)
redis:
host: ${SPRING_REDIS_HOST:172.18.15.29}
port: ${SPRING_REDIS_PORT:6379}

@ -27,7 +27,7 @@
LEFT JOIN PM_PD_SLAB PPS ON PPS.SLAB_NO = MS.SLAB_NO --PM_PD_SLAB 组板板坯表
LEFT JOIN PM_PD_CONST_BT PPCB ON PPCB.ROLL_LINE_NO = SUBSTR(MS.MSC_LINE_NO, 3, 2)
WHERE 1 = 1
-- AND MS.MSC_LINE_NO = '1030' --5米轧线
AND MS.MSC_LINE_NO LIKE '%30' --5米轧线
-- AND MS.SLAB_NO = 'C50015130500'
-- AND MS.SLAB_NO = 'C50015130100'
<if test="slabNo != null and slabNo != ''">AND MS.SLAB_NO = #{slabNo}</if>
@ -53,7 +53,7 @@
LEFT JOIN PM_PD_SLAB_INFO PPSI ON PPSI.SLAB_NO = MS.SLAB_NO --PM_PD_SLAB 组板板坯表
LEFT JOIN PM_PD_CONST_BT PPCB ON PPCB.ROLL_LINE_NO = SUBSTR(MS.MSC_LINE_NO, 3, 2)
WHERE 1 = 1
-- AND MS.MSC_LINE_NO = '1030' --5米轧线
AND MS.MSC_LINE_NO LIKE '%30' --5米轧线
-- AND MS.SLAB_NO = 'C50015130500'
-- AND MS.SLAB_NO = 'C50015130100'
<if test="slabNo != null and slabNo != ''">AND MS.SLAB_NO = #{slabNo}</if>
@ -81,9 +81,9 @@
-- AND ppc.PRO_CONT_ID = pcmt.PRO_CONT_ID
-- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO
WHERE 1=1
-- AND pcmt.MSC_LINE_NO = '1030' --5米轧线
AND pcmt.MSC_LINE_NO LIKE '%30' --5米轧线
-- AND ppc.ORDER_NO IN ('J2502001208')
-- AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解C和S 都代表什么
AND ppcpa.ORDER_TYPE_CODE != 'QFH'
AND PPC.ON_PD_FLAG != 1 --不用验证操作者
@ -103,8 +103,8 @@
-- AND ppc.PRO_CONT_ID = pcmt.PRO_CONT_ID
-- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO
WHERE 1=1
-- AND pcmt.MSC_LINE_NO = '1030' --5米轧线
-- AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND pcmt.MSC_LINE_NO LIKE '%30' --5米轧线
AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解C和S 都代表什么
AND ppcpa.ORDER_TYPE_CODE != 'QFH'
AND PPC.ON_PD_FLAG != 1 --不用验证操作者
@ -118,18 +118,59 @@
<!--生产合同产品属性表-->
<select id="getPmProCountProdAttr" resultType="com.xisc.pm.domain.entity.PmProContProdTtr">
SELECT *
FROM PM_PRO_CONT_PROD_ATTR
-- WHERE ORDER_NO ='522484Q020'
SELECT distinct ppcpa.* FROM PM_PRO_CONT ppc
LEFT JOIN XISC_CT.CT_MAIN CM ON PPC.ORDER_NO = CM.ORDER_NO
LEFT JOIN PM_PRO_CONT_PROD_ATTR ppcpa ON ppcpa.ORDER_NO = ppc.ORDER_NO
LEFT JOIN PM_CONT_MSC_TECH PCMT ON PCMT.ORDER_NO = ppc.ORDER_NO
-- AND ppc.PRO_CONT_ID = pcmt.PRO_CONT_ID
-- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO
WHERE 1=1
AND nvl(ppcpa.ORDER_NO,' ') !=' '
AND pcmt.MSC_LINE_NO LIKE '%30' --5米轧线
-- AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解C和S 都代表什么
AND ppcpa.ORDER_TYPE_CODE != 'QFH'
AND PPC.ON_PD_FLAG != 1 --不用验证操作者
AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态
AND pcmt.ROLL_DIRECT_CODE ='L'--轧制方向代码
AND NVL(cm.ORDER_STATUS,0) &gt;= 40 AND NVL(cm.ORDER_STATUS,0) &lt; 67 --TODO 添加nvl处理 表中无效数字
-- AND PPC.PD_LACK_QTY &gt; 0 --欠量大于0 TODO 存在欠量小于0的数据
--
-- SELECT *
-- FROM PM_PRO_CONT_PROD_ATTR
-- -- WHERE ORDER_NO ='522484Q020'
</select>
<!--合同产线工艺参数表-->
<select id="getPmContMscTech" resultType="com.xisc.pm.domain.entity.PmContMscTech">
SELECT *
FROM PM_CONT_MSC_TECH
-- WHERE ORDER_NO ='522484Q020'
SELECT distinct PCMT.* FROM PM_PRO_CONT ppc
LEFT JOIN XISC_CT.CT_MAIN CM ON PPC.ORDER_NO = CM.ORDER_NO
LEFT JOIN PM_PRO_CONT_PROD_ATTR ppcpa ON ppcpa.ORDER_NO = ppc.ORDER_NO
LEFT JOIN PM_CONT_MSC_TECH PCMT ON PCMT.ORDER_NO = ppc.ORDER_NO
-- AND ppc.PRO_CONT_ID = pcmt.PRO_CONT_ID
-- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO
WHERE 1=1
AND nvl(pcmt.ORDER_NO,' ') !=' '
AND pcmt.MSC_LINE_NO LIKE '%30' --5米轧线
-- AND ppc.ORDER_NO IN ('52500095215','52500096023')
AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解C和S 都代表什么
AND ppcpa.ORDER_TYPE_CODE != 'QFH'
AND PPC.ON_PD_FLAG != 1 --不用验证操作者
AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态
AND pcmt.ROLL_DIRECT_CODE ='L'--轧制方向代码
AND NVL(cm.ORDER_STATUS,0) &gt;= 40 AND NVL(cm.ORDER_STATUS,0) &lt; 67 --TODO 添加nvl处理 表中无效数字
-- AND PPC.PD_LACK_QTY &gt; 0 --欠量大于0 TODO 存在欠量小于0的数据
--
-- SELECT *
-- FROM PM_CONT_MSC_TECH
-- -- WHERE ORDER_NO ='522484Q020'
</select>

Loading…
Cancel
Save