From f95e4cb5b7082a2723573f045be90158ea708a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Thu, 30 Jul 2026 13:58:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=93=81=E6=B5=81=E7=A8=8Bok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InspectionController.java | 6 ++- .../data/InspectionScheduleViewVO.java | 5 +++ .../inspection/entity/QcPersonList.java | 5 +++ .../mapper/InspectionRequestHeaderMapper.java | 5 ++- .../service/InspectionRequestService.java | 2 +- .../impl/InspectionRequestServiceImpl.java | 33 +++++++++++++-- .../InspectionRequestHeaderMapper.xml | 41 +++++++++++++++---- 7 files changed, 81 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/xujie/modules/inspection/controller/InspectionController.java b/src/main/java/com/xujie/modules/inspection/controller/InspectionController.java index 5e78bf8..6dadef4 100644 --- a/src/main/java/com/xujie/modules/inspection/controller/InspectionController.java +++ b/src/main/java/com/xujie/modules/inspection/controller/InspectionController.java @@ -193,10 +193,12 @@ public class InspectionController { * 排程视图查询 */ @GetMapping("/scheduleView") - public R scheduleView(@RequestParam String qcOperator){ + public R scheduleView(@RequestParam String qcOperator, + @RequestParam(required = false) String site, + @RequestParam(required = false) String startDate){ List list = - inspectionRequestService.queryScheduleView(qcOperator); + inspectionRequestService.queryScheduleView(qcOperator, site, startDate); return R.ok().put("list", list); } diff --git a/src/main/java/com/xujie/modules/inspection/data/InspectionScheduleViewVO.java b/src/main/java/com/xujie/modules/inspection/data/InspectionScheduleViewVO.java index 258c584..4d9ed6f 100644 --- a/src/main/java/com/xujie/modules/inspection/data/InspectionScheduleViewVO.java +++ b/src/main/java/com/xujie/modules/inspection/data/InspectionScheduleViewVO.java @@ -18,6 +18,11 @@ public class InspectionScheduleViewVO { */ private String supplierName; + /** + * PO单号(order_ref1) + */ + private String poNo; + /** * 验货地址 */ diff --git a/src/main/java/com/xujie/modules/inspection/entity/QcPersonList.java b/src/main/java/com/xujie/modules/inspection/entity/QcPersonList.java index 4253883..8b5837b 100644 --- a/src/main/java/com/xujie/modules/inspection/entity/QcPersonList.java +++ b/src/main/java/com/xujie/modules/inspection/entity/QcPersonList.java @@ -6,6 +6,11 @@ import lombok.Data; @Data public class QcPersonList extends QueryPage { + /** + * 当前工厂 + */ + private String site; + private String userName; private String userDisplay; diff --git a/src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java b/src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java index 4812d0f..b85f843 100644 --- a/src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java +++ b/src/main/java/com/xujie/modules/inspection/mapper/InspectionRequestHeaderMapper.java @@ -52,7 +52,10 @@ public interface InspectionRequestHeaderMapper extends BaseMapper queryScheduleView(String qcOperator); + List queryScheduleView(@Param("qcOperator") String qcOperator, + @Param("site") String site, + @Param("startDate") Date startDate, + @Param("endDate") Date endDate); /** * 开始验货 - 更新头表状态 diff --git a/src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java b/src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java index 058cb17..15ea713 100644 --- a/src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java +++ b/src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java @@ -57,7 +57,7 @@ public interface InspectionRequestService extends IService queryScheduleView(String qcOperator); + List queryScheduleView(String qcOperator, String site, String startDate); void updateRequest(InspectionRequestHeader header); diff --git a/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java b/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java index ed17587..518c89b 100644 --- a/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java +++ b/src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java @@ -642,6 +642,10 @@ public class InspectionRequestServiceImpl extends ServiceImpl page = baseMapper.getQcPersonList(new Page<>(qc.getPage(), qc.getLimit()), qc); return new PageUtils(page); } @@ -717,13 +721,34 @@ public class InspectionRequestServiceImpl extends ServiceImpl queryScheduleView(String qcOperator) { - - if (qcOperator == null || qcOperator.trim().isEmpty()) { + public List queryScheduleView(String qcOperator, String site, String startDate) { + if (!StringUtils.hasText(qcOperator)) { throw new RuntimeException("QC人员不能为空"); } + if (!StringUtils.hasText(site)) { + throw new RuntimeException("请前端传site"); + } - return baseMapper.queryScheduleView(qcOperator); + Date queryStartDate = resolveScheduleViewStartDate(startDate); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(queryStartDate); + calendar.add(Calendar.DAY_OF_MONTH, 9); + Date queryEndDate = calendar.getTime(); + + return baseMapper.queryScheduleView(qcOperator, site, queryStartDate, queryEndDate); + } + + private Date resolveScheduleViewStartDate(String startDate) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + formatter.setLenient(false); + try { + if (StringUtils.hasText(startDate)) { + return formatter.parse(startDate); + } + return formatter.parse(formatter.format(new Date())); + } catch (Exception e) { + throw new RuntimeException("起始日期格式错误,请使用yyyy-MM-dd"); + } } @Transactional(rollbackFor = Exception.class) diff --git a/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml b/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml index 2385ffb..f4dc399 100644 --- a/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml +++ b/src/main/resources/mapper/inspection/InspectionRequestHeaderMapper.xml @@ -230,17 +230,28 @@ AND h.request_no = #{requestNo} @@ -292,17 +303,31 @@ SELECT h.request_no AS requestNo, s.supplier_name AS supplierName, + d.poNo AS poNo, h.inspect_address AS inspectAddress, h.plan_start_date AS planStartDate, h.plan_end_date AS planEndDate FROM srm_inspection_request_header h LEFT JOIN srm_supplier s - ON h.supplier_no = s.supplier_no - WHERE h.qc_operator = #{qcOperator} + ON h.supplier_no = s.supplier_no + AND h.site = s.site + LEFT JOIN ( + SELECT + site, + request_no, + MIN(order_ref1) AS poNo + FROM srm_inspect_request_detail + GROUP BY site, request_no + ) d + ON d.site = h.site + AND d.request_no = h.request_no + WHERE h.site = #{site} + AND h.qc_operator = #{qcOperator} AND h.status_db = 'Scheduled' AND h.plan_start_date IS NOT NULL AND h.plan_end_date IS NOT NULL - AND h.plan_end_date >= GETDATE() + AND CAST(h.plan_end_date AS DATE) >= CAST(#{startDate} AS DATE) + AND CAST(#{endDate} AS DATE) >= CAST(h.plan_start_date AS DATE) ORDER BY h.plan_start_date ASC