From 615f6f7dbdd68b6ee8bbced785d8094ae4455482 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期五, 13 九月 2024 09:17:45 +0800 Subject: [PATCH] 一键质检 --- src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java | 9 ++++ src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java | 44 +++++++++++++++++++--- src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 16 ++++++++ src/main/resources/mapper/payment/DeliveryOrderMapper.xml | 10 +++- 4 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java index 055edd1..341ef37 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -238,6 +238,18 @@ return deliveryOrderItemMapper.selectDoItemList(id); } + public List<DeliveryOrderItemDTO> getSupplierDeliveryOrderItems(String ids){ + List<String> idList = splitParam(ids); + List<DeliveryOrderItemDTO> ls = new ArrayList<>(); + if(idList != null && idList.size() > 0){ + for(String id : idList){ + ls.add(getSupplierDeliveryOrderItem(id)); + } + } + + return ls; + } + public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(String id) { DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO(); @@ -382,6 +394,10 @@ ); if (count == 0) { Order o = orderMapper.selectById(orderId); + if(!Constants.ORDER_STATUS_BACKEND.COLLECTION.name().equals(o.getStatus())){ + log.warn("非待集货状态,不可设置待发货"); + return; + } o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.SEND.name()); o.update(SecurityUtils.getUserId()); orderMapper.updateById(o); diff --git a/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java b/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java index b176677..9ed9801 100644 --- a/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java +++ b/src/main/java/com/mzl/flower/web/payment/DeliveryOrderController.java @@ -4,11 +4,13 @@ import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; +import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.payment.*; import com.mzl.flower.dto.response.flower.StationStatisticDTO; import com.mzl.flower.dto.response.payment.*; import com.mzl.flower.service.payment.DeliveryOrderService; +import io.micrometer.core.instrument.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -136,7 +138,11 @@ @ApiOperation(value = "查询集货站供应商配送列表") public ResponseEntity<ReturnDataDTO<Page<DeliveryOrderList4CheckDTO>>> selectSupplierDoList4Check(Page page , DeliveryOrderStationQueryDTO dto){ - LocalDate localDate = deliveryOrderService.parseLocalDate(dto.getDate()); + String date = dto.getDate(); + if(StringUtils.isEmpty(date)){ + throw new ValidationException("请选择日期"); + } + LocalDate localDate = deliveryOrderService.parseLocalDate(date); if(localDate != null){ LocalDateTime end = localDate.atTime(17, 0, 0); LocalDateTime begin = end.plusDays(-1); @@ -187,7 +193,11 @@ @ApiOperation(value = "查询供应商配送单列表") public ResponseEntity<ReturnDataDTO<Page<DeliveryOrder4CheckDTO>>> selectSupplierDoInfo4Check(Page page , DeliveryOrderInfoSpQueryDTO dto){ - LocalDate localDate = deliveryOrderService.parseLocalDate(dto.getDate()); + String date = dto.getDate(); + if(StringUtils.isEmpty(date)){ + throw new ValidationException("请选择日期"); + } + LocalDate localDate = deliveryOrderService.parseLocalDate(date); if(localDate != null){ LocalDateTime end = localDate.atTime(17, 0, 0); LocalDateTime begin = end.plusDays(-1); @@ -320,11 +330,34 @@ } @GetMapping("/check/list/complete") - @ApiOperation(value = "一键质检(只能完成当天的,且必须点一下才会修改订单状态)") + @ApiOperation(value = "一键质检") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "供应商id", required = true, dataType = "Long", paramType = "query") + @ApiImplicitParam(name = "id", value = "供应商id", required = true, dataType = "Long", paramType = "query"), + @ApiImplicitParam(name = "date", value = "日期(yyyy-MM-dd)", required = true, dataType = "String", paramType = "query"), }) - public ResponseEntity<ReturnDataDTO> completeCheck(Long id) { + public ResponseEntity<ReturnDataDTO> completeCheck(Long id, String date) { + if(StringUtils.isEmpty(date)){ + throw new ValidationException("请选择日期"); + } + LocalDateTime startDate = null; + LocalDateTime endDate = null; + LocalDate localDate = deliveryOrderService.parseLocalDate(date); + if(localDate != null){ + endDate = localDate.atTime(17, 0, 0); + startDate = endDate.plusDays(-1); + } + + List<String> orderIds = deliveryOrderService.completeSupplierCheck(id, startDate, endDate); + deliveryOrderService.checkOrdersStatus(orderIds); + return returnData(R.SUCCESS.getCode(), null); + } + + @GetMapping("/check/list/complete/today") + @ApiOperation(value = "一键质检(今日)") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "供应商id", required = true, dataType = "Long", paramType = "query"), + }) + public ResponseEntity<ReturnDataDTO> completeCheckToday(Long id) { LocalDateTime now = LocalDateTime.now(); LocalDateTime towAm = LocalDate.now().atTime(2, 0, 0); LocalDateTime fivePm = LocalDate.now().atTime(17, 0, 0); @@ -337,7 +370,6 @@ startDate = fivePm.plusDays(-2); endDate = fivePm.plusDays(-1); } - List<String> orderIds = deliveryOrderService.completeSupplierCheck(id, startDate, endDate); deliveryOrderService.checkOrdersStatus(orderIds); return returnData(R.SUCCESS.getCode(), null); diff --git a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java index 51760a1..dd8229d 100644 --- a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java +++ b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java @@ -104,6 +104,15 @@ return returnData(R.SUCCESS.getCode(), deliveryOrderService.getSupplierDeliveryOrderItem(id)); } + @GetMapping("/list/items/views") + @ApiOperation(value = "获取商品详情列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "配送物品id列表", required = true, dataType = "String", paramType = "query") + }) + public ResponseEntity<ReturnDataDTO<List<DeliveryOrderItemDTO>>> getSupplierDeliveryOrderItems(String ids){ + return returnData(R.SUCCESS.getCode(), deliveryOrderService.getSupplierDeliveryOrderItems(ids)); + } + @PostMapping("/list/arrive") @ApiOperation(value = "确认入位") public ResponseEntity<ReturnDataDTO> arrived(@RequestBody DeliveryOrderArriveDTO dto) { diff --git a/src/main/resources/mapper/payment/DeliveryOrderMapper.xml b/src/main/resources/mapper/payment/DeliveryOrderMapper.xml index 34f3909..f6d68af 100644 --- a/src/main/resources/mapper/payment/DeliveryOrderMapper.xml +++ b/src/main/resources/mapper/payment/DeliveryOrderMapper.xml @@ -236,9 +236,13 @@ SELECT q.* FROM t_delivery_order q WHERE q.deleted = 0 - and q.status in ('PENDING', 'ARRIVED', 'CHECKED') + AND q.status in ('PENDING', 'ARRIVED') AND q.supplier_id = #{supplierId} - AND q.create_time > #{startDate} - AND q.create_time <= #{endDate} + <if test="startDate != null"> + AND q.create_time > #{startDate} + </if> + <if test="endDate != null"> + AND q.create_time <= #{endDate} + </if> </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3