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