Browse Source

订单对账单导出bug修复
合并订单
取消合并订单

24282 1 year ago
parent
commit
ca81a54091

+ 1 - 2
sd-business/src/main/java/com/sd/business/controller/inventory/InventoryController.java

@@ -12,7 +12,6 @@ import com.sd.business.entity.inventory.vo.QuantityByDepartmentVo;
 import com.sd.business.entity.inventory.vo.QuantityByWarehouseVo;
 import com.sd.business.entity.inventory.vo.QuantityByWarehouseVo;
 import com.sd.business.service.inventory.InventoryService;
 import com.sd.business.service.inventory.InventoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -99,7 +98,7 @@ public class InventoryController {
      * 库存修正
      * 库存修正
      */
      */
     @PostMapping("/correction")
     @PostMapping("/correction")
-    public void correction(@Validated @RequestBody CorrectionDto dto) {
+    public void correction(@RequestBody CorrectionDto dto) {
         inventoryService.correction(dto);
         inventoryService.correction(dto);
     }
     }
 
 

+ 18 - 0
sd-business/src/main/java/com/sd/business/controller/order/IssueBillController.java

@@ -1,12 +1,15 @@
 package com.sd.business.controller.order;
 package com.sd.business.controller.order;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.sd.business.entity.order.dto.IssueBillSelectDto;
 import com.sd.business.entity.order.dto.IssueBillSelectDto;
 import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.vo.IssueBillVO;
 import com.sd.business.entity.order.vo.IssueBillVO;
+import com.sd.business.entity.production.dto.MergeOrderDto;
 import com.sd.business.service.order.IssueBillService;
 import com.sd.business.service.order.IssueBillService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -59,5 +62,20 @@ public class IssueBillController {
         issueBillService.editPackagePicture(dto);
         issueBillService.editPackagePicture(dto);
     }
     }
 
 
+    /**
+     * 合并订单
+     */
+    @PostMapping("/merge")
+    public void merge(@Validated @RequestBody MergeOrderDto dto) {
+        issueBillService.merge(dto);
+    }
+
+    /**
+     * 取消合并
+     */
+    @PostMapping("/unmerge")
+    public void unmerge(@RequestBody BaseSelectDto dto) {
+        issueBillService.unmerge(dto.getId());
+    }
 
 
 }
 }

+ 16 - 0
sd-business/src/main/java/com/sd/business/entity/production/dto/MergeOrderDto.java

@@ -0,0 +1,16 @@
+package com.sd.business.entity.production.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class MergeOrderDto {
+
+    private Long id;
+
+    private List<Long> mergeIdList;
+
+}

+ 11 - 0
sd-business/src/main/java/com/sd/business/service/order/IssueBillService.java

@@ -5,6 +5,7 @@ import com.sd.business.entity.order.dto.IssueBillSelectDto;
 import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.vo.IssueBillVO;
 import com.sd.business.entity.order.vo.IssueBillVO;
+import com.sd.business.entity.production.dto.MergeOrderDto;
 
 
 public interface IssueBillService {
 public interface IssueBillService {
 
 
@@ -33,4 +34,14 @@ public interface IssueBillService {
      */
      */
     void editPackagePicture(OrderInfoDto dto);
     void editPackagePicture(OrderInfoDto dto);
 
 
+    /**
+     * 合并订单
+     */
+    void merge(MergeOrderDto dto);
+
+    /**
+     * 取消合并
+     */
+    void unmerge(Long id);
+
 }
 }

+ 12 - 0
sd-business/src/main/java/com/sd/business/service/order/impl/IssueBillServiceImpl.java

@@ -11,6 +11,7 @@ import com.sd.business.entity.order.dto.OrderInfoDto;
 import com.sd.business.entity.order.enums.OrderStatusEnum;
 import com.sd.business.entity.order.enums.OrderStatusEnum;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.vo.IssueBillVO;
 import com.sd.business.entity.order.vo.IssueBillVO;
+import com.sd.business.entity.production.dto.MergeOrderDto;
 import com.sd.business.mapper.order.IssueBillMapper;
 import com.sd.business.mapper.order.IssueBillMapper;
 import com.sd.business.service.order.IssueBillService;
 import com.sd.business.service.order.IssueBillService;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.order.OrderService;
@@ -116,5 +117,16 @@ public class IssueBillServiceImpl implements IssueBillService {
         ObsFileUtil.editFile(dto.getPackagePictureList(), dto.getId(), 2);
         ObsFileUtil.editFile(dto.getPackagePictureList(), dto.getId(), 2);
     }
     }
 
 
+    @Override
+    public void merge(MergeOrderDto dto) {
+        orderService.update(q -> q.eq(OrderInfo::getId, dto.getId()).set(OrderInfo::getMasterOrderId, 0));
+        orderService.update(q -> q.in(OrderInfo::getId, dto.getMergeIdList()).set(OrderInfo::getMasterOrderId, dto.getId()));
+    }
+
+    @Override
+    public void unmerge(Long id) {
+        orderService.update(q -> q.eq(OrderInfo::getId, id).set(OrderInfo::getMasterOrderId, null));
+        orderService.update(q -> q.eq(OrderInfo::getMasterOrderId, id).set(OrderInfo::getMasterOrderId, null));
+    }
 
 
 }
 }

+ 3 - 0
sd-business/src/main/java/com/sd/business/service/statement/impl/DocumentByOrderExcelCellMergeStrategy.java

@@ -90,6 +90,9 @@ public class DocumentByOrderExcelCellMergeStrategy extends AbstractMergeStrategy
      * 合并单元格
      * 合并单元格
      */
      */
     private void mergeWithPrevRow(Sheet sheet, int beginRow, int endRow, int col) {
     private void mergeWithPrevRow(Sheet sheet, int beginRow, int endRow, int col) {
+        if (beginRow + 1 == endRow) {
+            return;
+        }
         CellRangeAddress cellRangeAddress = new CellRangeAddress(beginRow + 1, endRow, col, col);
         CellRangeAddress cellRangeAddress = new CellRangeAddress(beginRow + 1, endRow, col, col);
         sheet.addMergedRegionUnsafe(cellRangeAddress);
         sheet.addMergedRegionUnsafe(cellRangeAddress);
     }
     }

+ 13 - 28
sd-business/src/main/java/com/sd/business/strategy/impl/DocumentByOrderExcelExportStrategy.java

@@ -60,33 +60,20 @@ public class DocumentByOrderExcelExportStrategy implements ExcelExportStrategy<M
         List<ExportDocumentByOrderBo> exportDocumentByOrderBos = new ArrayList<>();
         List<ExportDocumentByOrderBo> exportDocumentByOrderBos = new ArrayList<>();
         for (DocumentByOrderVo documentByOrderVo : list) {
         for (DocumentByOrderVo documentByOrderVo : list) {
             List<DocumentByOrderVo.SkuSpec> skuSpecList = documentByOrderVo.getSkuSpecList();
             List<DocumentByOrderVo.SkuSpec> skuSpecList = documentByOrderVo.getSkuSpecList();
-            DocumentByOrderVo.SkuSpec skuSpec = skuSpecList.get(0);
-
-            for (int j = 0; j < skuSpecList.size(); j++) {
+            for (DocumentByOrderVo.SkuSpec skuSpec : skuSpecList) {
                 List<DocumentByOrderVo.BomSpec> bomSpecList = skuSpec.getBomSpecList();
                 List<DocumentByOrderVo.BomSpec> bomSpecList = skuSpec.getBomSpecList();
-
-                for (int i = 0; i < bomSpecList.size(); i++) {
-                    DocumentByOrderVo.BomSpec bomSpec = bomSpecList.get(i);
-
-                    ExportDocumentByOrderBo.ExportDocumentByOrderBoBuilder builder = ExportDocumentByOrderBo.builder();
-
-                    if (i == 0) {
-                        builder.skuSpecCode(skuSpec.getSkuSpecCode())
-                                .skuSpecName(skuSpec.getSkuSpecName())
-                                .quantity(skuSpec.getQuantity())
-                                .unitPrice(skuSpec.getUnitPrice())
-                                .subtotal(skuSpec.getSubtotal());
-                    }
-
-                    if (j == 0) {
-                        builder.wlnCreateTime(documentByOrderVo.getWlnCreateTime())
-                                .code(documentByOrderVo.getCode())
-                                .wlnCode(documentByOrderVo.getWlnCode())
-                                .outerBoxPackingFee(documentByOrderVo.getOuterBoxPackingFee())
-                                .total(documentByOrderVo.getTotal());
-                    }
-
-                    ExportDocumentByOrderBo exportDocumentByOrderBo = builder
+                for (DocumentByOrderVo.BomSpec bomSpec : bomSpecList) {
+                    ExportDocumentByOrderBo exportDocumentByOrderBo = ExportDocumentByOrderBo.builder()
+                            .skuSpecCode(skuSpec.getSkuSpecCode())
+                            .skuSpecName(skuSpec.getSkuSpecName())
+                            .quantity(skuSpec.getQuantity())
+                            .unitPrice(skuSpec.getUnitPrice())
+                            .subtotal(skuSpec.getSubtotal())
+                            .wlnCreateTime(documentByOrderVo.getWlnCreateTime())
+                            .code(documentByOrderVo.getCode())
+                            .wlnCode(documentByOrderVo.getWlnCode())
+                            .outerBoxPackingFee(documentByOrderVo.getOuterBoxPackingFee())
+                            .total(documentByOrderVo.getTotal())
                             .bomSpecCode(bomSpec.getBomSpecCode())
                             .bomSpecCode(bomSpec.getBomSpecCode())
                             .bomSpecName(bomSpec.getBomSpecName())
                             .bomSpecName(bomSpec.getBomSpecName())
                             .bomQuantity(bomSpec.getQuantity())
                             .bomQuantity(bomSpec.getQuantity())
@@ -99,9 +86,7 @@ public class DocumentByOrderExcelExportStrategy implements ExcelExportStrategy<M
                             .managementFeeSummary(bomSpec.getManagementFeeSummary())
                             .managementFeeSummary(bomSpec.getManagementFeeSummary())
                             .build();
                             .build();
                     exportDocumentByOrderBos.add(exportDocumentByOrderBo);
                     exportDocumentByOrderBos.add(exportDocumentByOrderBo);
-
                 }
                 }
-
             }
             }
 
 
             all = all.add(documentByOrderVo.getTotal());
             all = all.add(documentByOrderVo.getTotal());