Browse Source

新品流程ok

master
常熟吴彦祖 2 weeks ago
parent
commit
33748dccea
  1. 18
      src/main/java/com/xujie/modules/inspection/controller/InspectionController.java
  2. 5
      src/main/java/com/xujie/modules/inspection/data/InspectionRequestItemVO.java
  3. 4
      src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java
  4. 4
      src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java
  5. 26
      src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java
  6. 106
      src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml

18
src/main/java/com/xujie/modules/inspection/controller/InspectionController.java

@ -98,6 +98,24 @@ public class InspectionController {
return R.ok().put("page", page);
}
/**
* 查询可申请验货的供应商按PO明细聚合
*/
@PostMapping("/queryPoSupplierPage")
public R queryPoSupplierPage(@RequestBody InspectionRequestItemVO vo){
PageUtils page = inspectionRequestService.queryPoSupplierPage(vo);
return R.ok().put("page", page);
}
/**
* 从订单选择供应商专用分页查询
*/
@PostMapping("/queryPoSupplierOrderPage")
public R queryPoSupplierOrderPage(@RequestBody InspectionRequestItemVO vo){
PageUtils page = inspectionRequestService.queryPoSupplierOrderPage(vo);
return R.ok().put("page", page);
}
/**
* 保存验货申请

5
src/main/java/com/xujie/modules/inspection/data/InspectionRequestItemVO.java

@ -99,5 +99,10 @@ public class InspectionRequestItemVO extends QueryPage {
*/
private String supplierName;
/**
* 供应商可申请验货PO明细数量
*/
private Long poDetailCount;
}

4
src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java

@ -24,6 +24,10 @@ public interface InspectionRequestHeaderMapper extends BaseMapper<InspectionRequ
IPage<InspectionRequestItemVO> queryPoPage(Page<InspectionRequestItemVO> page, @Param("query") InspectionRequestItemVO query);
IPage<InspectionRequestItemVO> queryPoSupplierPage(Page<InspectionRequestItemVO> page, @Param("query") InspectionRequestItemVO query);
IPage<InspectionRequestItemVO> queryPoSupplierOrderPage(Page<InspectionRequestItemVO> page, @Param("query") InspectionRequestItemVO query);
int cancel(@Param("site") String site,
@Param("requestNo") String requestNo);

4
src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java

@ -23,6 +23,10 @@ public interface InspectionRequestService extends IService<InspectionRequestHead
PageUtils queryPoPage(InspectionRequestItemVO vo);
PageUtils queryPoSupplierPage(InspectionRequestItemVO vo);
PageUtils queryPoSupplierOrderPage(InspectionRequestItemVO vo);
void saveRequest(InspectionRequestSaveVO vo);
void cancel(String requestNo);

26
src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java

@ -81,11 +81,37 @@ public class InspectionRequestServiceImpl extends ServiceImpl<InspectionRequestH
@Override
public PageUtils queryPoPage(InspectionRequestItemVO data) {
// 业务查询必须以前端显式传入的 site 为准避免跨工厂串数
if (data == null || !StringUtils.hasText(data.getSite())) {
throw new RuntimeException("请前端传site");
}
IPage<InspectionRequestItemVO> page =
baseMapper.queryPoPage(new Page<>(data.getPage(), data.getLimit()), data);
return new PageUtils(page);
}
@Override
public PageUtils queryPoSupplierPage(InspectionRequestItemVO data) {
// 业务查询必须以前端显式传入的 site 为准避免跨工厂串数
if (data == null || !StringUtils.hasText(data.getSite())) {
throw new RuntimeException("请前端传site");
}
IPage<InspectionRequestItemVO> page =
baseMapper.queryPoSupplierPage(new Page<>(data.getPage(), data.getLimit()), data);
return new PageUtils(page);
}
@Override
public PageUtils queryPoSupplierOrderPage(InspectionRequestItemVO data) {
// 业务查询必须以前端显式传入的 site 为准避免跨工厂串数
if (data == null || !StringUtils.hasText(data.getSite())) {
throw new RuntimeException("请前端传site");
}
IPage<InspectionRequestItemVO> page =
baseMapper.queryPoSupplierOrderPage(new Page<>(data.getPage(), data.getLimit()), data);
return new PageUtils(page);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveRequest(InspectionRequestSaveVO vo) {

106
src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml

@ -89,7 +89,7 @@
ON pod.part_no = p.part_no
AND pod.site = p.site
WHERE pod.site = #{query.site}
AND poh.status NOT IN ('Closed','Cancelled')
AND ISNULL(poh.status, '') NOT IN ('Draft','Shipped','Closed','Cancelled','草稿','已发货','已关闭','已取消')
AND (
pod.qty - ISNULL(pod.to_inspect_qty,0)
) > 0
@ -97,7 +97,10 @@
AND poh.supplier_no = #{query.supplierNo}
</if>
<if test="query.orderNo != null and query.orderNo != ''">
AND pod.order_no like concat('%',#{query.orderNo},'%')
AND (
pod.order_ref1 like concat('%',#{query.orderNo},'%')
OR pod.order_no like concat('%',#{query.orderNo},'%')
)
</if>
<if test="query.partNo != null and query.partNo != ''">
AND pod.part_no like concat('%',#{query.partNo},'%')
@ -108,9 +111,108 @@
<if test="query.sku != null and query.sku != ''">
AND p.sku like concat('%',#{query.sku},'%')
</if>
<if test="query.partDesc != null and query.partDesc != ''">
AND p.part_desc like concat('%',#{query.partDesc},'%')
</if>
<if test="query.supplierName != null and query.supplierName != ''">
AND ss.supplier_name like concat('%',#{query.supplierName},'%')
</if>
ORDER BY pod.id DESC
</select>
<select id="queryPoSupplierOrderPage" resultType="com.xujie.modules.inspection.data.InspectionRequestItemVO">
SELECT
pod.site,
pod.order_no,
pod.item_no,
pod.part_no,
pod.order_ref1,
pod.order_ref2,
pod.qty,
pod.to_inspect_qty,
p.item AS item,
p.sku AS sku,
p.part_desc AS partDesc,
ISNULL(pod.to_inspect_qty,0)
AS toInspectQty,
(
pod.qty - ISNULL(pod.to_inspect_qty,0)
)
AS waitInspectQty,
ISNULL(pod.c_crd,pod.want_receive_date)
AS crd,
poh.ship_via AS shipMethod,
poh.supplier_no AS supplierNo,
ss.supplier_name AS supplierName
FROM PODetail pod
INNER JOIN POHeader poh
ON poh.order_no = pod.order_no
AND poh.site = pod.site
LEFT JOIN srm_supplier ss
ON ss.site = pod.site
AND ss.supplier_no = poh.supplier_no
LEFT JOIN part p
ON pod.part_no = p.part_no
AND pod.site = p.site
WHERE pod.site = #{query.site}
AND ISNULL(poh.status, '') NOT IN ('Draft','Shipped','Closed','Cancelled','草稿','已发货','已关闭','已取消')
AND (
pod.qty - ISNULL(pod.to_inspect_qty,0)
) > 0
<if test="query.supplierNo != null and query.supplierNo != ''">
AND poh.supplier_no = #{query.supplierNo}
</if>
<if test="query.orderNo != null and query.orderNo != ''">
AND (
pod.order_ref1 like concat('%',#{query.orderNo},'%')
OR pod.order_no like concat('%',#{query.orderNo},'%')
)
</if>
<if test="query.partNo != null and query.partNo != ''">
AND pod.part_no like concat('%',#{query.partNo},'%')
</if>
<if test="query.item != null and query.item != ''">
AND p.item like concat('%',#{query.item},'%')
</if>
<if test="query.sku != null and query.sku != ''">
AND p.sku like concat('%',#{query.sku},'%')
</if>
<if test="query.partDesc != null and query.partDesc != ''">
AND p.part_desc like concat('%',#{query.partDesc},'%')
</if>
<if test="query.supplierName != null and query.supplierName != ''">
AND ss.supplier_name like concat('%',#{query.supplierName},'%')
</if>
ORDER BY ISNULL(pod.c_crd,pod.want_receive_date) DESC, pod.id DESC
</select>
<select id="queryPoSupplierPage" resultType="com.xujie.modules.inspection.data.InspectionRequestItemVO">
SELECT
poh.supplier_no AS supplierNo,
ss.supplier_name AS supplierName,
COUNT(1) AS poDetailCount
FROM PODetail pod
INNER JOIN POHeader poh
ON poh.order_no = pod.order_no
AND poh.site = pod.site
LEFT JOIN srm_supplier ss
ON ss.site = pod.site
AND ss.supplier_no = poh.supplier_no
WHERE pod.site = #{query.site}
AND ISNULL(poh.status, '') NOT IN ('Draft','Shipped','Closed','Cancelled','草稿','已发货','已关闭','已取消')
AND (
pod.qty - ISNULL(pod.to_inspect_qty,0)
) > 0
<if test="query.supplierNo != null and query.supplierNo != ''">
AND poh.supplier_no like concat('%',#{query.supplierNo},'%')
</if>
<if test="query.supplierName != null and query.supplierName != ''">
AND ss.supplier_name like concat('%',#{query.supplierName},'%')
</if>
GROUP BY poh.supplier_no, ss.supplier_name
ORDER BY COUNT(1) DESC, poh.supplier_no ASC
</select>
<update id="cancel">
UPDATE srm_inspection_request_header
SET status = '已取消',

Loading…
Cancel
Save