Cui Zhi Feng
2024-09-13 615f6f7dbdd68b6ee8bbced785d8094ae4455482
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,6 +138,18 @@
    @ApiOperation(value = "查询集货站供应商配送列表")
    public ResponseEntity<ReturnDataDTO<Page<DeliveryOrderList4CheckDTO>>> selectSupplierDoList4Check(Page page
            , DeliveryOrderStationQueryDTO dto){
        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);
            dto.setStartDate(begin);
            dto.setEndDate(end);
        }
        return returnData(R.SUCCESS.getCode(), deliveryOrderService.selectSupplierDoList4Check(page, dto));
    }
@@ -179,6 +193,18 @@
    @ApiOperation(value = "查询供应商配送单列表")
    public ResponseEntity<ReturnDataDTO<Page<DeliveryOrder4CheckDTO>>> selectSupplierDoInfo4Check(Page page
            , DeliveryOrderInfoSpQueryDTO dto){
        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);
            dto.setStartDate(begin);
            dto.setEndDate(end);
        }
        return returnData(R.SUCCESS.getCode(), deliveryOrderService.selectSupplierDoInfo4Check(page, dto));
    }
@@ -242,7 +268,8 @@
    @ApiOperation(value = "降级操作")
    public ResponseEntity<ReturnDataDTO> doReduceCheck(@RequestBody OrderItemCheckCommitReduceDTO dto) {
        deliveryOrderService.doReduceCheck(dto);
        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -251,7 +278,8 @@
    public ResponseEntity<ReturnDataDTO> doReplaceCheck(@RequestBody OrderItemCheckCommitDTO dto) {
        dto.setType(Constants.CHECK_TYPE.replace.name());
        deliveryOrderService.doCheck(dto, null, null, null);
        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -260,7 +288,8 @@
    public ResponseEntity<ReturnDataDTO> doLackCheck(@RequestBody OrderItemCheckCommitDTO dto) {
        dto.setType(Constants.CHECK_TYPE.lack.name());
        deliveryOrderService.doCheck(dto, null, null, null);
        deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        String orderId = deliveryOrderService.checkOrderItemStatus(dto.getOrderItemId());
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -268,7 +297,8 @@
    @ApiOperation(value = "删除降级信息")
    public ResponseEntity<ReturnDataDTO> deleteReduce(String orderItemId){
        deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.reduce.name());
        deliveryOrderService.checkOrderItemStatus(orderItemId);
        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -276,7 +306,8 @@
    @ApiOperation(value = "删除补货信息")
    public ResponseEntity<ReturnDataDTO> deleteReplace(String orderItemId){
        deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.replace.name());
        deliveryOrderService.checkOrderItemStatus(orderItemId);
        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -284,7 +315,8 @@
    @ApiOperation(value = "删除缺货信息")
    public ResponseEntity<ReturnDataDTO> deleteLack(String orderItemId){
        deliveryOrderService.deleteCheckInfo(orderItemId, Constants.CHECK_TYPE.lack.name());
        deliveryOrderService.checkOrderItemStatus(orderItemId);
        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
@@ -292,15 +324,40 @@
    @ApiOperation(value = "完成商品质检")
    public ResponseEntity<ReturnDataDTO> setCheckOk(String orderItemId){
        deliveryOrderService.setCheckOk(orderItemId);
        String orderId = deliveryOrderService.checkOrderItemStatus(orderItemId);
        deliveryOrderService.checkOrderStatus(orderId);
        return returnData(R.SUCCESS.getCode(), null);
    }
    @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);
@@ -313,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);