Browse Source

Merge remote-tracking branch 'origin/master'

master
qiankanghui 2 weeks ago
parent
commit
83beea28da
  1. 8
      src/main/java/com/xujie/modules/quality/data/QualityIssuePoSelectDto.java
  2. 14
      src/main/java/com/xujie/modules/quality/entity/SrmQualityIssuePo.java
  3. 3
      src/main/java/com/xujie/modules/quality/mapper/SrmQualityIssuePoMapper.java
  4. 29
      src/main/java/com/xujie/modules/quality/service/impl/QualityIssueServiceImpl.java
  5. 34
      src/main/resources/mapper/quality/SrmQualityIssuePoMapper.xml

8
src/main/java/com/xujie/modules/quality/data/QualityIssuePoSelectDto.java

@ -16,11 +16,15 @@ public class QualityIssuePoSelectDto {
private String partNo;
private String sku;
private String partDesc;
private Date poDate;
private BigDecimal qty;
private BigDecimal shippedQty;
private String supplierNo;
private String supplierName;
private String buyer;
}

14
src/main/java/com/xujie/modules/quality/entity/SrmQualityIssuePo.java

@ -20,10 +20,22 @@ public class SrmQualityIssuePo {
private String partNo;
@TableField(exist = false)
private String sku;
private String partDesc;
private BigDecimal poQty;
@TableField(exist = false)
private Date poDate;
@TableField(exist = false)
private String supplierNo;
@TableField(exist = false)
private String supplierName;
@TableField(exist = false)
private String buyer;
private BigDecimal shippedQty;
private String createBy;

3
src/main/java/com/xujie/modules/quality/mapper/SrmQualityIssuePoMapper.java

@ -17,7 +17,8 @@ public interface SrmQualityIssuePoMapper {
@Param("poNo") String poNo,
@Param("partNo") String partNo,
@Param("beginDate") Date beginDate,
@Param("endDate") Date endDate
@Param("endDate") Date endDate,
@Param("limit") Integer limit
);
int deleteByIssueNo(

29
src/main/java/com/xujie/modules/quality/service/impl/QualityIssueServiceImpl.java

@ -173,9 +173,9 @@ public class QualityIssueServiceImpl extends ServiceImpl<QualityIssueMapper, Qua
List<SrmQualityIssuePo> list = new ArrayList<>();
for (int i = 0; i < dto.getPoList().size(); i++) {
QualityIssueSavePoDto item = dto.getPoList().get(i);
log.info("处理第{}条PO: poNo={}, itemNo={}, partNo={}, qty={}, shippedQty={}",
log.info("处理第{}条PO: poNo={}, itemNo={}, partNo={}, qty={}",
i + 1, item.getPoNo(), item.getItemNo(), item.getPartNo(),
item.getQty(), item.getShippedQty());
item.getQty());
SrmQualityIssuePo po = new SrmQualityIssuePo();
po.setSite(dto.getSite());
@ -189,7 +189,6 @@ public class QualityIssueServiceImpl extends ServiceImpl<QualityIssueMapper, Qua
po.setPartNo(item.getPartNo());
}
po.setPoQty(item.getQty());
po.setShippedQty(item.getShippedQty()); // 设置已发货数量
po.setCreateBy(userName);
list.add(po);
}
@ -201,26 +200,32 @@ public class QualityIssueServiceImpl extends ServiceImpl<QualityIssueMapper, Qua
@Override
public PageUtils getAvailablePoList(QueryPoDto dto) {
IPage<QualityIssuePoSelectDto> page =
new Page<>(
dto.getPageIndex(),
dto.getPageSize()
);
boolean noFilter = isBlank(dto.getPoNo())
&& isBlank(dto.getPartNo())
&& dto.getBeginDate() == null
&& dto.getEndDate() == null;
Integer limit = noFilter ? 500 : null;
page.setRecords(
qualityIssuePoMapper.getAvailablePoList(
List<QualityIssuePoSelectDto> records = qualityIssuePoMapper.getAvailablePoList(
dto.getSite(),
dto.getSupplierNo(),
dto.getPoNo(),
dto.getPartNo(),
dto.getBeginDate(),
dto.getEndDate()
)
dto.getEndDate(),
limit
);
IPage<QualityIssuePoSelectDto> page = new Page<>(1, records.size());
page.setRecords(records);
page.setTotal(records.size());
return new PageUtils(page);
}
private boolean isBlank(String value) {
return value == null || value.trim().isEmpty();
}
@Override
public List<SrmQualityIssuePo> getIssuePoList(String site, String issueNo) {
return qualityIssuePoMapper.getIssuePoList(site, issueNo);

34
src/main/resources/mapper/quality/SrmQualityIssuePoMapper.xml

@ -8,18 +8,23 @@
p.order_ref1 as poNo,
p.item_no as itemNo,
p.part_no as partNo,
pt.sku as sku,
pt.part_desc as partDesc,
h.order_date as poDate,
p.qty,
p.shipped_qty as shippedQty
h.supplier_no as supplierNo,
ss.supplier_name as supplierName,
h.buyer as buyer
FROM PODetail p
LEFT JOIN POHeader h
ON p.site = h.site
AND p.order_no = h.order_no
LEFT JOIN srm_supplier ss
ON ss.site = h.site
AND ss.supplier_no = h.supplier_no
LEFT JOIN part pt
ON p.part_no = pt.part_no
AND p.site = pt.site
WHERE p.site = #{site}
AND ISNULL(p.shipped_qty, 0) > 0
<if test="supplierNo != null and supplierNo != ''">
AND h.supplier_no = #{supplierNo}
</if>
@ -36,6 +41,9 @@
AND h.order_date &lt;= #{endDate}
</if>
ORDER BY h.order_date DESC
<if test="limit != null and limit > 0">
OFFSET 0 ROWS FETCH NEXT #{limit} ROWS ONLY
</if>
</select>
<!-- 其他方法保持不变 -->
@ -67,7 +75,7 @@
#{item.itemNo},
#{item.partNo},
#{item.poQty},
#{item.shippedQty},
#{item.shippedQty,jdbcType=DECIMAL},
#{item.createBy},
GETDATE()
)
@ -81,14 +89,28 @@
qip.po_no,
qip.item_no,
qip.part_no,
pt.sku,
pt.part_desc as partDesc,
qip.po_qty,
qip.shipped_qty,
h.order_date as poDate,
h.supplier_no as supplierNo,
ss.supplier_name as supplierName,
h.buyer as buyer,
qip.create_by,
qip.create_date
FROM srm_quality_issue_po qip
LEFT JOIN part pt
ON qip.part_no = pt.part_no
AND qip.site = pt.site
LEFT JOIN PODetail p
ON p.site = qip.site
AND p.order_ref1 = qip.po_no
AND p.item_no = qip.item_no
LEFT JOIN POHeader h
ON h.site = p.site
AND h.order_no = p.order_no
LEFT JOIN srm_supplier ss
ON ss.site = h.site
AND ss.supplier_no = h.supplier_no
WHERE qip.site = #{site}
AND qip.issue_no = #{issueNo}
</select>

Loading…
Cancel
Save