Browse Source

2025-11-25

过站采集-》机器下机卷
1、卷号长度给大一些L2025115734-A-2-10-001
2、查询SQL增加where条件:ISNULL(virtualNewRollFlag,'Y') ='N'
3、SQL语句中最后4个字段,放在rollQty后面
master
fengyuan_yang 8 months ago
parent
commit
75a9cb2998
  1. 1
      src/main/java/com/gaotao/modules/boxManage/data/SoReceiveCasesData.java
  2. 1
      src/main/java/com/gaotao/modules/boxManage/entity/SoReceiveCases.java
  3. 19
      src/main/java/com/gaotao/modules/schedule/data/OrderBomData.java
  4. 54
      src/main/java/com/gaotao/modules/schedule/data/SfdcMaterialData.java
  5. 38
      src/main/java/com/gaotao/modules/schedule/data/SfdcRollData.java
  6. 103
      src/main/resources/mapper/schedule/ScheduleMapper.xml

1
src/main/java/com/gaotao/modules/boxManage/data/SoReceiveCasesData.java

@ -67,5 +67,6 @@ public class SoReceiveCasesData extends SoReceiveCases {

1
src/main/java/com/gaotao/modules/boxManage/entity/SoReceiveCases.java

@ -206,5 +206,6 @@ public class SoReceiveCases {

19
src/main/java/com/gaotao/modules/schedule/data/OrderBomData.java

@ -2,6 +2,7 @@ package com.gaotao.modules.schedule.data;
import org.apache.ibatis.type.Alias;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -28,6 +29,24 @@ public class OrderBomData extends BaseData {
private Float qtyReserved;
private String matGroup;
private String rmTypeDb;
private BigDecimal qtyReturn;
private BigDecimal theoryQtyReturn;
public BigDecimal getQtyReturn() {
return qtyReturn;
}
public void setQtyReturn(BigDecimal qtyReturn) {
this.qtyReturn = qtyReturn;
}
public BigDecimal getTheoryQtyReturn() {
return theoryQtyReturn;
}
public void setTheoryQtyReturn(BigDecimal theoryQtyReturn) {
this.theoryQtyReturn = theoryQtyReturn;
}
public OrderBomData() {
}

54
src/main/java/com/gaotao/modules/schedule/data/SfdcMaterialData.java

@ -34,6 +34,60 @@ public class SfdcMaterialData extends BaseRollData {
private String keyRMFlag;
private String sAPBOMItemNo;
private String setupflag;
private String finishedFlagDesc;
private String unissueFlagDesc;
private String keyRMFlagDesc;
private String setupFlagDesc;
private String partDesc;
private String spec;
public String getPartDesc() {
return partDesc;
}
public void setPartDesc(String partDesc) {
this.partDesc = partDesc;
}
public String getSpec() {
return spec;
}
public void setSpec(String spec) {
this.spec = spec;
}
public String getFinishedFlagDesc() {
return finishedFlagDesc;
}
public void setFinishedFlagDesc(String finishedFlagDesc) {
this.finishedFlagDesc = finishedFlagDesc;
}
public String getUnissueFlagDesc() {
return unissueFlagDesc;
}
public void setUnissueFlagDesc(String unissueFlagDesc) {
this.unissueFlagDesc = unissueFlagDesc;
}
public String getKeyRMFlagDesc() {
return keyRMFlagDesc;
}
public void setKeyRMFlagDesc(String keyRMFlagDesc) {
this.keyRMFlagDesc = keyRMFlagDesc;
}
public String getSetupFlagDesc() {
return setupFlagDesc;
}
public void setSetupFlagDesc(String setupFlagDesc) {
this.setupFlagDesc = setupFlagDesc;
}
public SfdcMaterialData() {
}

38
src/main/java/com/gaotao/modules/schedule/data/SfdcRollData.java

@ -2,6 +2,8 @@ package com.gaotao.modules.schedule.data;
import org.apache.ibatis.type.Alias;
import java.math.BigDecimal;
/**
* @author LR
* @Title: SfdcRollData
@ -27,6 +29,42 @@ public class SfdcRollData extends BaseRollData {
private String cqcPassFlag;
private String cqcInspectedFlag;
private String cqcNeedInspectFlag;
private Integer goodQty;
private Integer defectQty;
private Integer totalQty;
private BigDecimal yieldRate;
public Integer getGoodQty() {
return goodQty;
}
public void setGoodQty(Integer goodQty) {
this.goodQty = goodQty;
}
public Integer getDefectQty() {
return defectQty;
}
public void setDefectQty(Integer defectQty) {
this.defectQty = defectQty;
}
public Integer getTotalQty() {
return totalQty;
}
public void setTotalQty(Integer totalQty) {
this.totalQty = totalQty;
}
public BigDecimal getYieldRate() {
return yieldRate;
}
public void setYieldRate(BigDecimal yieldRate) {
this.yieldRate = yieldRate;
}
public SfdcRollData() {
}

103
src/main/resources/mapper/schedule/ScheduleMapper.xml

@ -745,30 +745,32 @@
<!--查询工单的bom信息-->
<select id="getOrderBomByCon" parameterType="SearchScheduleData" resultType="OrderBomData">
SELECT vss.Site site, vss.OrderNo orderNo, vss.ItemNo itemNo, vss.ComponentPartNo componentPartNo,
/*动态sql语句*/
<!-- <if test="referenceCustomerId != null and referenceCustomerId != ''">-->
<!-- <choose>-->
<!-- <when test="referenceCustomerId != null and referenceCustomerId != ''">-->
<!-- ISNULL(rpi.ReferencePartDesc, P.PartDescription) partDesc, '' partSpec,-->
<!-- </when>-->
<!-- <otherwise>-->
P.PartDescription partDesc, P.Spec partSpec,
<!-- </otherwise>-->
<!-- </choose>-->
<!-- </if>-->
P.UMid partUm, vss.QtyAssembly qtyAssembly, vss.QtyFixedScrapt qtyFixedScrapt, vss.ScraptFactor scraptFactor,
vss.Remark remark,
vss.QtyRequired qtyRequired, vss.QtyIssue qtyIssue, vss.IssueDate issueDate, vss.QtyReserved qtyReserved,
vss.MatGroup matGroup, vss.RMType_DB rmTypeDb
SELECT
vss.Site site,
vss.OrderNo orderNo,
vss.ItemNo itemNo,
vss.ComponentPartNo componentPartNo,
P.PartDescription partDesc,
P.Spec partSpec,
U.UMName partUm,
vss.QtyAssembly qtyAssembly,
vss.QtyFixedScrapt qtyFixedScrapt,
vss.ScraptFactor scraptFactor,
vss.Remark remark,
vss.QtyRequired qtyRequired,
vss.QtyIssue qtyIssue,
vss.IssueDate issueDate,
vss.QtyReserved qtyReserved,
vss.MatGroup matGroup,
vss.RMType_DB rmTypeDb,
ISNULL(vss.qtyReturn, 0) as qtyReturn,
CAST (
ROUND(CASE WHEN ISNULL(vss.QtyIssue, 0) > ISNULL(vss.qtyRequired, 0) THEN
ISNULL(vss.QtyIssue, 0) - ISNULL(vss.qtyRequired, 0) ELSE 0 END, 6) AS DECIMAL (18, 6)
) AS theoryQtyReturn
FROM dbo.view_SAP_SOBOM vss
/*动态sql语句*/
<!-- <if test="referenceCustomerId != null and referenceCustomerId != ''">-->
<!-- LEFT JOIN ReferencePartInfo rpi ON vss.Site = rpi.Site AND vss.ComponentPartNo = rpi.PartNo AND-->
<!-- rpi.CustomerID = #{referenceCustomerId}-->
<!-- AND (rpi.FGPartNo = #{partNo} OR rpi.FGPartNo = '全部')-->
<!-- </if>-->
LEFT JOIN Part P ON vss.Site = P.Site AND vss.ComponentPartNo = P.PartNo
LEFT JOIN UM U ON P.Site = U.Site AND P.UMID = U.UMID
<where>
vss.Site = P.Site AND vss.ComponentPartNo = P.PartNo
<if test="site != null and site != ''">
@ -798,18 +800,25 @@
smh.StartDate startDate,
smh.FinishDate finishedDate,
smh.FinishFlag finishedFlag,
case when smh.FinishFlag = 'Y' then '是' else '否' end as finishedFlagDesc,
smh.HistType histType,
smh.TransGeneratedFlag transGeneratedFlag,
smh.OriginalRMRollNo originalRMRollNo,
smh.UnissueFlag unissueFlag,
case when smh.UnissueFlag = 'Y' then '是' else '否' end as unissueFlagDesc,
ROUND(smh.TransQty, 3) transQty,
ROUND(smh.NetIssueQty, 3) netIssueQty,
smh.OriginalHistSeqNo originalHistSeqNo,
smh.StartFromRollNo startFromRollNo,
smh.KeyRMFlag keyRMFlag,
case when smh.KeyRMFlag = 'Y' then '是' else '否' end as keyRMFlagDesc,
smh.SAPBOMItemNo sAPBOMItemNo,
smh.Setupflag setupflag
FROM SFDC_MaterialHist smh
smh.Setupflag setupflag,
case when smh.Setupflag = 'Y' then '是' else '否' end as setupFlagDesc,
B.PartDescription AS partDesc, --新增字段:物料名称,放到物料编码下面
B.Spec AS Spec --新增字段,放到物料名称下面
FROM SFDC_MaterialHist smh WITH(NOLOCK)
LEFT JOIN Part B WITH(NOLOCK) ON smh.Site = B.Site AND smh.PartNo = B.PartNo
<where>
<if test="site != null and site != ''">
AND smh.Site = #{site}
@ -911,16 +920,48 @@
</select>
<!--查询派工单的下机卷信息-->
<select id="getSfdcRollByCon" parameterType="SearchScheduleData" resultType="SfdcRollData">
SELECT sfr.Site site, sfr.OrderNo orderNo, sfr.RollNo rollNo, sfr.CreatedDate createdDate, sfr.Createdby
createdby, sfr.CurrentOpsItemNo currentOpsItemNo,
sfr.LastFinishedOpsItemNo lastFinishedOpsItemNo, sfr.FinishedDate finishedDate, sfr.FinishedFlag finishedFlag,
SELECT
sfr.Site site,
sfr.OrderNo orderNo,
sfr.RollNo rollNo,
sfr.CreatedDate createdDate,
sfr.Createdby createdby,
sfr.CurrentOpsItemNo currentOpsItemNo,
sfr.LastFinishedOpsItemNo lastFinishedOpsItemNo,
sfr.FinishedDate finishedDate,
sfr.FinishedFlag finishedFlag,
sfr.OnLineFlag onLineFlag,
sfr.PauseFlag pauseFlag, sfr.OriRollNo oriRollNo, sfr.StartOpsItemNo startOpsItemNo, sfr.RollType rollType,
sfr.PauseFlag pauseFlag,
sfr.OriRollNo oriRollNo,
sfr.StartOpsItemNo startOpsItemNo,
sfr.RollType rollType,
sfr.CreatedOpsItemNo createdOpsItemNo,
sfr.CreatedOpsSeqNo createdOpsSeqNo, sfr.RollQty rollQty, sfr.FirstLevelRollNo firstLevelRollNo,
sfr.VirtualRollFlag virtualRollFlag
FROM SFDC_Rolls sfr
sfr.CreatedOpsSeqNo createdOpsSeqNo,
sfr.RollQty rollQty,
sfr.FirstLevelRollNo firstLevelRollNo,
sfr.VirtualRollFlag virtualRollFlag,
B.good_qty goodQty,
B.defect_qty defectQty,
B.total_qty totalQty,
CASE
WHEN total_qty = 0 THEN
CAST (0 AS DECIMAL(18, 2))
ELSE
CAST (
ROUND(
CAST (good_qty AS DECIMAL(20, 6)) / total_qty * 100,
2
) AS DECIMAL (18, 2)
)
END AS yieldRate
FROM
SFDC_Rolls sfr
LEFT JOIN ProductionReport B ON sfr.Site = B.site
AND sfr.OrderNo = B.order_no
AND sfr.CreatedOpsSeqNo = B.seq_no
AND sfr.RollNo = B.roll_no
<where>
ISNULL(virtualNewRollFlag, 'Y') = 'N'
<if test="site != null and site != ''">
AND sfr.Site = #{site}
</if>

Loading…
Cancel
Save