ソースを参照

成品库方法

24282 1 年間 前
コミット
1851b16794
18 ファイル変更288 行追加15 行削除
  1. 9 4
      sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedController.java
  2. 42 0
      sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedOrderController.java
  3. 35 0
      sd-business/src/main/java/com/sd/business/entity/inventory/dto/InventoryFinishedOrderSelectDto.java
  4. 11 0
      sd-business/src/main/java/com/sd/business/entity/inventory/dto/InventoryFinishedSelectDto.java
  5. 2 0
      sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinished.java
  6. 2 0
      sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinishedOrder.java
  7. 53 0
      sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryFinishedOrderVo.java
  8. 5 0
      sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryFinishedVo.java
  9. 6 0
      sd-business/src/main/java/com/sd/business/mapper/inventory/InventoryFinishedOrderMapper.java
  10. 13 0
      sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedOrderService.java
  11. 2 0
      sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedService.java
  12. 39 0
      sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedOrderServiceImpl.java
  13. 11 7
      sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java
  14. 12 3
      sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java
  15. 11 0
      sd-business/src/main/java/com/sd/business/service/production/impl/ProductionOrderServiceImpl.java
  16. 1 1
      sd-business/src/main/resources/mapper/inventory/InventoryFinishedMapper.xml
  17. 16 0
      sd-business/src/main/resources/mapper/inventory/InventoryFinishedOrderMapper.xml
  18. 18 0
      sd-wln/src/main/java/com/sd/wln/service/impl/WlnStatementOfAccountImpl.java

+ 9 - 4
sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedController.java

@@ -5,10 +5,7 @@ import com.sd.business.entity.inventory.dto.InventoryFinishedSelectDto;
 import com.sd.business.entity.inventory.vo.InventoryFinishedVo;
 import com.sd.business.service.inventory.InventoryFinishedService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 /**
@@ -34,4 +31,12 @@ public class InventoryFinishedController {
         return inventoryFinishedService.getPage(dto);
     }
 
+    /**
+     * 成品仓库导出
+     */
+    @GetMapping("/excelExport")
+    public void excelExport(@RequestBody InventoryFinishedSelectDto dto) {
+        inventoryFinishedService.excelExport(dto);
+    }
+
 }

+ 42 - 0
sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedOrderController.java

@@ -0,0 +1,42 @@
+package com.sd.business.controller.inventory;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderSelectDto;
+import com.sd.business.entity.inventory.vo.InventoryFinishedOrderVo;
+import com.sd.business.service.inventory.InventoryFinishedOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * <p>
+ * 成品仓库订单 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-10-11
+ */
+@RestController
+@RequestMapping("/inventoryFinishedOrder")
+public class InventoryFinishedOrderController {
+
+    @Autowired
+    private InventoryFinishedOrderService inventoryFinishedOrderService;
+
+    /**
+     * 成品仓库订单分页
+     */
+    @PostMapping("/page")
+    public Page<InventoryFinishedOrderVo> page(@RequestBody InventoryFinishedOrderSelectDto dto) {
+        return inventoryFinishedOrderService.getPage(dto);
+    }
+
+    /**
+     * 成品仓库订单导出
+     */
+    @GetMapping("/excelExport")
+    public void excelExport(@RequestBody InventoryFinishedOrderSelectDto dto) {
+        inventoryFinishedOrderService.excelExport(dto);
+    }
+
+}

+ 35 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/dto/InventoryFinishedOrderSelectDto.java

@@ -14,4 +14,39 @@ import lombok.Setter;
 @Setter
 public class InventoryFinishedOrderSelectDto extends BaseSelectDto {
 
+    /**
+     * sku规格品名
+     */
+    private String skuSpecId;
+
+    /**
+     * sku规格品号
+     */
+    private String skuSpecCode;
+
+    /**
+     * sku规格品名
+     */
+    private String skuSpecName;
+
+    /**
+     * 订单id
+     */
+    private Long orderId;
+
+    /**
+     * 订单编号
+     */
+    private String orderCode;
+
+    /**
+     * 订单万里牛编号
+     */
+    private String orderWlnCode;
+
+    /**
+     * 事业部id
+     */
+    private Long departmentId;
+
 }

+ 11 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/dto/InventoryFinishedSelectDto.java

@@ -14,4 +14,15 @@ import lombok.Setter;
 @Setter
 public class InventoryFinishedSelectDto extends BaseSelectDto {
 
+    /**
+     * sku规格品号
+     */
+    private String skuSpecCode;
+
+    /**
+     * sku规格品名
+     */
+    private String skuSpecName;
+
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinished.java

@@ -1,5 +1,6 @@
 package com.sd.business.entity.inventory.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
@@ -28,6 +29,7 @@ public class InventoryFinished extends BasePo {
     /**
      * 数量
      */
+    @ExcelProperty(value = "数量", index = 2)
     private BigDecimal quantity;
 
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinishedOrder.java

@@ -1,5 +1,6 @@
 package com.sd.business.entity.inventory.po;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
@@ -43,6 +44,7 @@ public class InventoryFinishedOrder extends BasePo {
     /**
      * 数量
      */
+    @ExcelProperty(value = "数量", index = 2)
     private BigDecimal quantity;
 
     /**

+ 53 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryFinishedOrderVo.java

@@ -1,9 +1,13 @@
 package com.sd.business.entity.inventory.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * 成品仓库订单列表查询返回值实体
  *
@@ -12,6 +16,55 @@ import lombok.Setter;
  */
 @Getter
 @Setter
+@ExcelIgnoreUnannotated
 public class InventoryFinishedOrderVo extends InventoryFinishedOrder {
 
+    /**
+     * sku规格品号
+     */
+    @ExcelProperty(value = "sku品号", index = 0)
+    private String skuSpecCode;
+
+    /**
+     * sku规格品名
+     */
+    @ExcelProperty(value = "sku品名", index = 1)
+    private String skuSpecName;
+
+    /**
+     * 订单号
+     */
+    @ExcelProperty(value = "订单号", index = 3)
+    private String orderCode;
+
+    /**
+     * 万里牛订单号
+     */
+    @ExcelProperty(value = "万里牛单号", index = 4)
+    private String orderWlnCode;
+
+    /**
+     * 事业部名称
+     */
+    @ExcelProperty(value = "事业部", index = 5)
+    private String departmentName;
+
+    /**
+     * 操作类型 1入库 2出库
+     */
+    private Integer operationType;
+
+    /**
+     * 创建时间
+     */
+    @ExcelProperty(value = "时间", index = 6)
+    private Date createTime;
+
+
+    /**
+     * 操作类型
+     */
+    @ExcelProperty(value = "状态", index = 7)
+    private String operationTypeStr;
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/vo/InventoryFinishedVo.java

@@ -1,5 +1,7 @@
 package com.sd.business.entity.inventory.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.sd.business.entity.inventory.po.InventoryFinished;
 import lombok.Getter;
 import lombok.Setter;
@@ -12,16 +14,19 @@ import lombok.Setter;
  */
 @Getter
 @Setter
+@ExcelIgnoreUnannotated
 public class InventoryFinishedVo extends InventoryFinished {
 
     /**
      * sku规格品号
      */
+    @ExcelProperty(value = "sku品号", index = 0)
     private String skuSpecCode;
 
     /**
      * sku规格品名
      */
+    @ExcelProperty(value = "sku品名", index = 1)
     private String skuSpecName;
 
 }

+ 6 - 0
sd-business/src/main/java/com/sd/business/mapper/inventory/InventoryFinishedOrderMapper.java

@@ -1,7 +1,11 @@
 package com.sd.business.mapper.inventory;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
+import com.sd.business.entity.inventory.vo.InventoryFinishedOrderVo;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -14,4 +18,6 @@ import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
  */
 public interface InventoryFinishedOrderMapper extends BaseMapper<InventoryFinishedOrder> {
 
+    Page<InventoryFinishedOrderVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<InventoryFinishedOrder> wrapper);
+
 }

+ 13 - 0
sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedOrderService.java

@@ -1,7 +1,10 @@
 package com.sd.business.service.inventory;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderSelectDto;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
+import com.sd.business.entity.inventory.vo.InventoryFinishedOrderVo;
 import com.sd.business.entity.order.po.OrderSku;
 
 import java.util.List;
@@ -38,4 +41,14 @@ public interface InventoryFinishedOrderService extends BaseService<InventoryFini
      */
     void saleOutOfWarehouse(List<InventoryFinishedOrder> inventoryFinishedOrderList);
 
+    /**
+     * 成品仓库订单分页
+     */
+    Page<InventoryFinishedOrderVo> getPage(InventoryFinishedOrderSelectDto dto);
+
+    /**
+     * excel导出
+     */
+    void excelExport(InventoryFinishedOrderSelectDto dto);
+
 }

+ 2 - 0
sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedService.java

@@ -45,4 +45,6 @@ public interface InventoryFinishedService extends BaseService<InventoryFinished>
      */
     void saleOutOfWarehouse(List<Long> orderIdList);
 
+    void excelExport(InventoryFinishedSelectDto dto);
+
 }

+ 39 - 0
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedOrderServiceImpl.java

@@ -1,22 +1,30 @@
 package com.sd.business.service.inventory.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.sd.business.entity.department.constant.DepartmentConstant;
+import com.sd.business.entity.department.po.Department;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderSelectDto;
 import com.sd.business.entity.inventory.enums.FinishedOperationTypeEnum;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrderDetail;
+import com.sd.business.entity.inventory.vo.InventoryFinishedOrderVo;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.po.OrderSku;
+import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.mapper.inventory.InventoryFinishedOrderMapper;
 import com.sd.business.service.inventory.InventoryFinishedOrderDetailService;
 import com.sd.business.service.inventory.InventoryFinishedOrderService;
 import com.sd.business.service.order.OrderService;
+import com.sd.framework.util.excel.util.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -40,6 +48,9 @@ public class InventoryFinishedOrderServiceImpl extends ServiceImpl<InventoryFini
     @Autowired
     private OrderService orderService;
 
+    @Autowired
+    private HttpServletResponse response;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void productionWarehousing(List<OrderSku> orderSkuList) {
@@ -88,4 +99,32 @@ public class InventoryFinishedOrderServiceImpl extends ServiceImpl<InventoryFini
         inventoryFinishedOrderDetailService.add(list, FinishedOperationTypeEnum.SALE_OUT_OF_WAREHOUSE);
     }
 
+    @Override
+    public Page<InventoryFinishedOrderVo> getPage(InventoryFinishedOrderSelectDto dto) {
+        IWrapper<InventoryFinishedOrder> wrapper = getWrapper();
+        wrapper.orderByDesc("ifod", InventoryFinishedOrder::getId);
+        wrapper.eq("ss", SkuSpec::getId, dto.getSkuSpecId());
+        wrapper.like("ss", SkuSpec::getCode, dto.getSkuSpecCode());
+        wrapper.like("ss", SkuSpec::getName, dto.getSkuSpecName());
+        wrapper.eq("oi", OrderInfo::getId, dto.getOrderId());
+        wrapper.like("oi", OrderInfo::getCode, dto.getOrderCode());
+        wrapper.like("oi", OrderInfo::getWlnCode, dto.getOrderWlnCode());
+        wrapper.eq("d", Department::getId, dto.getDepartmentId());
+
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
+    }
+
+    @Override
+    public void excelExport(InventoryFinishedOrderSelectDto dto) {
+        dto.setPageNum(1);
+        dto.setPageSize(9999999);
+        Page<InventoryFinishedOrderVo> page = getPage(dto);
+        List<InventoryFinishedOrderVo> records = page.getRecords();
+
+        for (InventoryFinishedOrderVo record : records) {
+            record.setOperationTypeStr(record.getOperationType() == 1 ? "入库" : "出库");
+        }
+        ExcelUtil.export(response, records, InventoryFinishedOrderVo.class);
+    }
+
 }

+ 11 - 7
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java

@@ -9,10 +9,10 @@ import com.sd.business.entity.inventory.po.InventoryFinished;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import com.sd.business.entity.inventory.vo.InventoryFinishedVo;
 import com.sd.business.entity.order.po.OrderSku;
+import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.mapper.inventory.InventoryFinishedMapper;
 import com.sd.business.service.inventory.InventoryFinishedOrderService;
 import com.sd.business.service.inventory.InventoryFinishedService;
-import com.sd.business.service.order.OrderService;
 import com.sd.business.service.order.OrderSkuService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,9 +37,6 @@ import java.util.stream.Collectors;
 public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedMapper, InventoryFinished> implements InventoryFinishedService {
 
     @Autowired
-    private OrderService orderService;
-
-    @Autowired
     private OrderSkuService orderSkuService;
 
     @Autowired
@@ -48,9 +45,10 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
     @Override
     public Page<InventoryFinishedVo> getPage(InventoryFinishedSelectDto dto) {
         IWrapper<InventoryFinished> wrapper = getWrapper();
-        wrapper.orderByDesc("if", InventoryFinished::getId);
-        Page<InventoryFinishedVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-        return page;
+        wrapper.orderByDesc("i", InventoryFinished::getId);
+        wrapper.like("ss", SkuSpec::getCode, dto.getSkuSpecCode());
+        wrapper.like("ss", SkuSpec::getName, dto.getSkuSpecName());
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -74,6 +72,7 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
             return inventoryFinished;
         }).collect(Collectors.toList());
         inOut(inventoryFinishedList, true);
+
         inventoryFinishedOrderService.productionWarehousing(orderSkuList);
     }
 
@@ -118,6 +117,11 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
         inventoryFinishedOrderService.saleOutOfWarehouse(list);
     }
 
+    @Override
+    public void excelExport(InventoryFinishedSelectDto dto) {
+
+    }
+
     /**
      * 成品仓sku规格出入库
      */

+ 12 - 3
sd-business/src/main/java/com/sd/business/service/order/impl/OrderServiceImpl.java

@@ -46,6 +46,7 @@ import com.sd.business.service.bom.BomService;
 import com.sd.business.service.bom.BomSpecService;
 import com.sd.business.service.department.DepartmentService;
 import com.sd.business.service.in.InOutStorageService;
+import com.sd.business.service.inventory.InventoryFinishedService;
 import com.sd.business.service.inventory.InventoryService;
 import com.sd.business.service.order.*;
 import com.sd.business.service.price.PriceBillingStandardDetailService;
@@ -122,6 +123,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
     @Autowired
     private ISysRoleService roleService;
 
+    @Autowired
+    private InventoryFinishedService inventoryFinishedService;
+
     @Override
     public Page<OrderInfoVo> getPage(OrderSelectDto dto) {
         IWrapper<OrderInfo> wrapper = getWrapper();
@@ -143,7 +147,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         );
 
         List<Long> detpIdList = sysUserService.getDetpIdListByUserId(SecurityUtils.getUserId());
-        if (detpIdList.size() > 0) {
+        if (!detpIdList.isEmpty()) {
             wrapper.in("o", OrderInfo::getDepartmentId, detpIdList);
             wrapper.eq("o", OrderInfo::getCreateUser, SecurityUtils.getUserId());
         }
@@ -174,7 +178,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         Page<OrderInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<OrderInfoVo> records = page.getRecords();
 
-        if (records.size() == 0) {
+        if (records.isEmpty()) {
             return page;
         }
 
@@ -491,6 +495,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
 
         unLockStorage(orderInfo);
 
+        // 删除订单回滚成品仓库存
+        inventoryFinishedService.removeOrder(id);
+
         // 删除订单以及订单关联数据
         delete(id);
 
@@ -760,6 +767,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         packagingMaterialInOutStorageDto.setInOutStorageBomList(packagingMaterialInOutStorageBomList);
         inOutStorageService.add(packagingMaterialInOutStorageDto);
 
+        // 删除订单回滚成品仓库存
+        inventoryFinishedService.removeOrder(id);
+
         delete(id);
 
         OrderOperatingLog orderOperatingLog = new OrderOperatingLog();
@@ -887,7 +897,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
         orderSkuService.remove(q -> q.eq(OrderSku::getOrderId, id));
         orderSkuBomService.remove(q -> q.eq(OrderSkuBom::getOrderId, id));
         orderPackageBomService.remove(q -> q.eq(OrderPackageBom::getOrderId, id));
-
         ObsFileUtil.removeFile(id);
     }
 

+ 11 - 0
sd-business/src/main/java/com/sd/business/service/production/impl/ProductionOrderServiceImpl.java

@@ -30,6 +30,7 @@ import com.sd.business.entity.warehouse.constant.WarehouseConstant;
 import com.sd.business.mapper.production.ProductionOrderMapper;
 import com.sd.business.service.bom.BomSpecService;
 import com.sd.business.service.in.InOutStorageService;
+import com.sd.business.service.inventory.InventoryFinishedService;
 import com.sd.business.service.inventory.InventoryService;
 import com.sd.business.service.order.OrderPackageBomService;
 import com.sd.business.service.order.OrderService;
@@ -89,6 +90,9 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
     @Autowired
     private ProductionCostService productionCostService;
 
+    @Autowired
+    private InventoryFinishedService inventoryFinishedService;
+
     @Override
     public Page<ProductionOrderVo> getPage(ProductionOrderDto dto) {
 
@@ -189,6 +193,13 @@ public class ProductionOrderServiceImpl implements ProductionOrderService {
         statement.setDepartmentId(orderInfo.getDepartmentId());
         statement.setOrderIdList(Collections.singletonList(orderInfo.getId()));
         statementOfAccountService.add(statement);
+
+        // 生产入库
+        inventoryFinishedService.productionWarehousing(Collections.singletonList(orderId));
+
+        // 库存销售出库
+        inventoryFinishedService.saleOutOfWarehouse(Collections.singletonList(orderId));
+
     }
 
     @Override

+ 1 - 1
sd-business/src/main/resources/mapper/inventory/InventoryFinishedMapper.xml

@@ -9,7 +9,7 @@
                ss.name skuSpecName,
                ss.code skuSpecCode
         from inventory_finished i
-                 left join sku_spec ss on ss.id = i.sku_spec_id
+                 inner join sku_spec ss on ss.id = i.sku_spec_id
             ${ew.customSqlSegment}
     </select>
 

+ 16 - 0
sd-business/src/main/resources/mapper/inventory/InventoryFinishedOrderMapper.xml

@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sd.business.mapper.inventory.InventoryFinishedOrderMapper">
+
+    <select id="getPage" resultType="com.sd.business.entity.inventory.vo.InventoryFinishedOrderVo">
+        select ss.code             skuSpecCode,
+               ss.name             skuSpecName,
+               ifod.quantity,
+               oi.code             orderCode,
+               oi.wln_code         orderWlnCode,
+               d.name              departmentName,
+               ifod.create_time,
+               ifod.operation_type operationType
+        from inventory_finished_order_detail ifod
+                 inner join order_info oi on ifod.order_info_id = oi.id
+                 inner join department d on ifod.department_id = d.id
+                 inner join sku_spec ss on ifod.sku_spec_id = ss.id
+    </select>
+
 </mapper>

+ 18 - 0
sd-wln/src/main/java/com/sd/wln/service/impl/WlnStatementOfAccountImpl.java

@@ -3,11 +3,13 @@ package com.sd.wln.service.impl;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.ruoyi.common.core.domain.BaseIdPo;
 import com.sd.business.entity.order.enums.OrderStatusEnum;
 import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.outbound.po.OutboundOrder;
 import com.sd.business.entity.production.dto.ProductionTaskDto;
 import com.sd.business.entity.statement.po.StatementOfAccount;
+import com.sd.business.service.inventory.InventoryFinishedService;
 import com.sd.business.service.order.OrderService;
 import com.sd.business.service.outbound.OutboundOrderService;
 import com.sd.business.service.production.ProductionTaskService;
@@ -35,6 +37,9 @@ public class WlnStatementOfAccountImpl implements WlnStatementOfAccount {
     @Autowired
     private ProductionTaskService productionTaskService;
 
+    @Autowired
+    private InventoryFinishedService inventoryFinishedService;
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void createStatementOfAccount() {
@@ -68,6 +73,8 @@ public class WlnStatementOfAccountImpl implements WlnStatementOfAccount {
         // 生成对账单
         Map<String, List<StatementOfAccount>> statementOfAccountMap = new HashMap<>();
 
+        List<Long> productionWarehousingOrderIdList = new ArrayList<>();
+
         for (OrderInfo order : orderList) {
 
             Date date = map.get(order.getWlnCode());
@@ -114,11 +121,15 @@ public class WlnStatementOfAccountImpl implements WlnStatementOfAccount {
                 productionTaskDto.setOrderId(order.getId());
                 productionTaskDto.setCompleteTime(map.get(order.getWlnCode()));
                 editProductionTaskList.add(productionTaskDto);
+                productionWarehousingOrderIdList.add(order.getId());
+
             }
             editOrderInfoList.add(editOrderInfo);
         }
 
+        // 更新订单信息
         orderService.updateBatchById(editOrderInfoList);
+
         // 订单生产完成时,生产任务一键完成
         productionTaskService.completeTaskBatch(editProductionTaskList);
 
@@ -126,6 +137,13 @@ public class WlnStatementOfAccountImpl implements WlnStatementOfAccount {
             statementOfAccountService.saveBatch(saveStatementOfAccountList);
         }
 
+        // 生产入库
+        inventoryFinishedService.productionWarehousing(productionWarehousingOrderIdList);
+
+        // 库存销售出库
+        List<Long> orderIdList = orderList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
+        inventoryFinishedService.saleOutOfWarehouse(orderIdList);
+
     }
 
 }