|
@@ -0,0 +1,120 @@
|
|
|
+package com.sd.business.service.order.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fjhx.file.utils.ObsFileUtil;
|
|
|
+import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
|
+import com.ruoyi.common.utils.SecurityUtils;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
+import com.sd.business.entity.order.dto.IssueBillSelectDto;
|
|
|
+import com.sd.business.entity.order.dto.OrderInfoDto;
|
|
|
+import com.sd.business.entity.order.enums.OrderStatusEnum;
|
|
|
+import com.sd.business.entity.order.po.OrderInfo;
|
|
|
+import com.sd.business.entity.order.vo.IssueBillVO;
|
|
|
+import com.sd.business.mapper.order.IssueBillMapper;
|
|
|
+import com.sd.business.service.order.IssueBillService;
|
|
|
+import com.sd.business.service.order.OrderService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class IssueBillServiceImpl implements IssueBillService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private IssueBillMapper mapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OrderService orderService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<IssueBillVO> getPage(IssueBillSelectDto dto) {
|
|
|
+ IWrapper<Object> wrapper = IWrapper.getWrapper();
|
|
|
+ wrapper.orderByDesc("oi", OrderInfo::getWlnCreateTime);
|
|
|
+
|
|
|
+ wrapper.eq("oi", OrderInfo::getSource, 1);
|
|
|
+ wrapper.eq("oi", OrderInfo::getStatus, OrderStatusEnum.COMPLETION_PRODUCTION.getKey());
|
|
|
+
|
|
|
+ wrapper.like("oi", OrderInfo::getCode, dto.getCode());
|
|
|
+ wrapper.eq("oi", OrderInfo::getDepartmentId, dto.getDepartmentId());
|
|
|
+ wrapper.like("oi", OrderInfo::getExpressDeliveryCode, dto.getExpressDeliveryCode());
|
|
|
+
|
|
|
+ wrapper.ge("ab", OrderInfo::getDeliveryTime, dto.getBeginTime());
|
|
|
+ wrapper.le("ab", OrderInfo::getDeliveryTime, dto.getEndTime());
|
|
|
+
|
|
|
+ if (dto.getPrintStatus() != null) {
|
|
|
+ if (dto.getPrintStatus() == 1) {
|
|
|
+ wrapper.isNotNull("oi.wln_print_time");
|
|
|
+ } else {
|
|
|
+ wrapper.isNull("oi.wln_print_time");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<IssueBillVO> page = mapper.getPage(dto.getPage(), wrapper);
|
|
|
+ List<IssueBillVO> records = page.getRecords();
|
|
|
+
|
|
|
+ if (records.size() == 0) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询合并订单code
|
|
|
+ List<Long> orderIdList = records.stream().map(IssueBillVO::getId).collect(Collectors.toList());
|
|
|
+ List<OrderInfo> orderInfoList = orderService.list(q -> q.in(OrderInfo::getMasterOrderId, orderIdList));
|
|
|
+
|
|
|
+ Map<Long, List<String>> map = orderInfoList.stream().collect(
|
|
|
+ Collectors.groupingBy(OrderInfo::getMasterOrderId, Collectors.mapping(OrderInfo::getCode, Collectors.toList())));
|
|
|
+ records.forEach(item -> {
|
|
|
+ item.setGroupOrderCodeList(map.getOrDefault(item.getId(), Collections.emptyList()));
|
|
|
+ });
|
|
|
+
|
|
|
+ return page;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void editAddress(OrderInfo orderInfo) {
|
|
|
+ orderService.update(q -> q
|
|
|
+ .eq(BaseIdPo::getId, orderInfo.getId())
|
|
|
+ .set(OrderInfo::getConsignee, orderInfo.getConsignee())
|
|
|
+ .set(OrderInfo::getConsigneeNumber, orderInfo.getConsigneeNumber())
|
|
|
+ .set(OrderInfo::getProvince, orderInfo.getProvince())
|
|
|
+ .set(OrderInfo::getCity, orderInfo.getCity())
|
|
|
+ .set(OrderInfo::getCounty, orderInfo.getCounty())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void editExpressDeliveryId(OrderInfo orderInfo) {
|
|
|
+ orderService.update(q -> q
|
|
|
+ .eq(BaseIdPo::getId, orderInfo.getId())
|
|
|
+ .set(OrderInfo::getExpressDeliveryId, orderInfo.getExpressDeliveryId())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void editExpressDeliveryCode(OrderInfo orderInfo) {
|
|
|
+ orderService.update(q -> q
|
|
|
+ .eq(BaseIdPo::getId, orderInfo.getId())
|
|
|
+ .set(OrderInfo::getExpressDeliveryCode, orderInfo.getExpressDeliveryCode())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void editPackagePicture(OrderInfoDto dto) {
|
|
|
+ ObsFileUtil.editFile(dto.getPackagePictureList(), dto.getId(), 2);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|