|
@@ -0,0 +1,73 @@
|
|
|
+package org.dromara.InventoryManagement.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import org.dromara.InventoryManagement.domain.OutBoundOrder;
|
|
|
+import org.dromara.InventoryManagement.domain.OutBoundOrderProduct;
|
|
|
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderBo;
|
|
|
+import org.dromara.InventoryManagement.domain.bo.OutBoundOrderProductBo;
|
|
|
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderProductVo;
|
|
|
+import org.dromara.InventoryManagement.domain.vo.OutBoundOrderVo;
|
|
|
+import org.dromara.InventoryManagement.mapper.OutBoundOrderMapper;
|
|
|
+import org.dromara.InventoryManagement.mapper.OutBoundOrderProductMapper;
|
|
|
+import org.dromara.InventoryManagement.service.OutBoundOrderService;
|
|
|
+import org.dromara.common.core.utils.MapstructUtils;
|
|
|
+import org.dromara.common.core.utils.OrderNumberGenerator;
|
|
|
+import org.dromara.common.core.utils.StringUtils;
|
|
|
+import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
+import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Service
|
|
|
+@RequiredArgsConstructor
|
|
|
+public class OutBoundOrderServiceImpl implements OutBoundOrderService {
|
|
|
+ private final OutBoundOrderMapper outBoundOrderMapper;
|
|
|
+ private final OutBoundOrderProductMapper outBoundOrderProductMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<OutBoundOrderVo> selectOutBoundOrderPageList(OutBoundOrderBo outBoundOrderBo, PageQuery pageQuery) {
|
|
|
+ QueryWrapper<OutBoundOrder> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(outBoundOrderBo.getCode()), "code", outBoundOrderBo.getCode());
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(outBoundOrderBo.getCustomerName()), "customer_name", outBoundOrderBo.getCustomerName());
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(outBoundOrderBo.getStatusList()), "status_list", outBoundOrderBo.getStatusList());
|
|
|
+ Page<OutBoundOrderVo> page = outBoundOrderMapper.selectVoPage(pageQuery.build(), queryWrapper);
|
|
|
+ return TableDataInfo.build(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public int insertOutBoundOrder(OutBoundOrderBo outBoundOrderBo) {
|
|
|
+ OrderNumberGenerator generator = OrderNumberGenerator.getInstance();
|
|
|
+ OutBoundOrder outBoundOrder = MapstructUtils.convert(outBoundOrderBo, OutBoundOrder.class);
|
|
|
+ if (outBoundOrder != null) {
|
|
|
+ outBoundOrder.setCode(generator.generateOrderNumber("YK"));
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("outBoundOrder is null");
|
|
|
+ }
|
|
|
+ outBoundOrderMapper.insert(outBoundOrder);
|
|
|
+ for (OutBoundOrderProductBo outBoundOrderProductBo : outBoundOrderBo.getOutBoundOrderProductBoList()) {
|
|
|
+ outBoundOrderProductBo.setDeliveryId(outBoundOrder.getId());
|
|
|
+ outBoundOrderProductMapper.insert(MapstructUtils.convert(outBoundOrderProductBo, OutBoundOrderProduct.class));
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<OutBoundOrderProductVo> selectOutBoundOrderProductList(int id) {
|
|
|
+ QueryWrapper<OutBoundOrderProduct> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("delivery_id", id);
|
|
|
+ return MapstructUtils.convert(outBoundOrderProductMapper.selectList(queryWrapper), OutBoundOrderProductVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int updateOutBoundOrder(OutBoundOrderBo outBoundOrderBo) {
|
|
|
+ for (OutBoundOrderProductBo outBoundOrderProductBo : outBoundOrderBo.getOutBoundOrderProductBoList()){
|
|
|
+ outBoundOrderProductMapper.updateById(MapstructUtils.convert(outBoundOrderProductBo, OutBoundOrderProduct.class));
|
|
|
+ }
|
|
|
+ return outBoundOrderMapper.updateById(MapstructUtils.convert(outBoundOrderBo, OutBoundOrder.class));
|
|
|
+ }
|
|
|
+}
|