Browse Source

采购入库明细

24282 1 year ago
parent
commit
42aa56bd43

+ 28 - 0
sd-business/src/main/java/com/sd/business/controller/in/PurchaseWarehousingController.java

@@ -0,0 +1,28 @@
+package com.sd.business.controller.in;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.in.dto.PurchaseWarehousingDto;
+import com.sd.business.entity.in.vo.PurchaseWarehousingVo;
+import com.sd.business.service.in.PurchaseWarehousingService;
+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;
+
+@RestController
+@RequestMapping("/purchaseWarehousing")
+public class PurchaseWarehousingController {
+
+    @Autowired
+    private PurchaseWarehousingService purchaseWarehousingService;
+
+    /**
+     * 采购入库分页
+     */
+    @PostMapping("/page")
+    public Page<PurchaseWarehousingVo> page(@RequestBody PurchaseWarehousingDto dto) {
+        return purchaseWarehousingService.getPage(dto);
+    }
+
+}

+ 31 - 0
sd-business/src/main/java/com/sd/business/entity/in/dto/PurchaseWarehousingDto.java

@@ -0,0 +1,31 @@
+package com.sd.business.entity.in.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class PurchaseWarehousingDto extends BaseSelectDto {
+
+    /**
+     * 采购单号
+     */
+    private String purchaseCode;
+
+    /**
+     * 供应商名称
+     */
+    private String supplierName;
+
+    /**
+     * 品号
+     */
+    private String bomSpecCode;
+
+    /**
+     * 品名
+     */
+    private String bomSpecName;
+
+}

+ 62 - 0
sd-business/src/main/java/com/sd/business/entity/in/vo/PurchaseWarehousingVo.java

@@ -0,0 +1,62 @@
+package com.sd.business.entity.in.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Getter
+@Setter
+public class PurchaseWarehousingVo {
+    /**
+     * 入库时间
+     */
+    private Date outboundTime;
+
+    /**
+     * 采购单号
+     */
+    private String purchaseCode;
+
+    /**
+     * 入库单号
+     */
+    private String outboundCode;
+
+    /**
+     * 仓库名称
+     */
+    private String warehouseName;
+
+    /**
+     * 供应商名称
+     */
+    private String supplierName;
+
+    /**
+     * 品号
+     */
+    private String bomSpecCode;
+
+    /**
+     * 品名
+     */
+    private String bomSpecName;
+
+    /**
+     * 入库数量
+     */
+    private BigDecimal outboundQuantity;
+
+    /**
+     * 单位
+     */
+    private String bomSpecUnit;
+
+    /**
+     * 含税单价
+     */
+    private BigDecimal outboundUnitPrice;
+
+}

+ 12 - 0
sd-business/src/main/java/com/sd/business/mapper/in/PurchaseWarehousingServiceMapper.java

@@ -0,0 +1,12 @@
+package com.sd.business.mapper.in;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.in.vo.PurchaseWarehousingVo;
+import org.apache.ibatis.annotations.Param;
+
+public interface PurchaseWarehousingServiceMapper {
+
+    Page<PurchaseWarehousingVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Object> wrapper);
+
+}

+ 14 - 0
sd-business/src/main/java/com/sd/business/service/in/PurchaseWarehousingService.java

@@ -0,0 +1,14 @@
+package com.sd.business.service.in;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.in.dto.PurchaseWarehousingDto;
+import com.sd.business.entity.in.vo.PurchaseWarehousingVo;
+
+public interface PurchaseWarehousingService {
+
+    /**
+     * 采购入库分页
+     */
+    Page<PurchaseWarehousingVo> getPage(PurchaseWarehousingDto dto);
+
+}

+ 41 - 0
sd-business/src/main/java/com/sd/business/service/in/impl/PurchaseWarehousingServiceImpl.java

@@ -0,0 +1,41 @@
+package com.sd.business.service.in.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.bom.po.BomSpec;
+import com.sd.business.entity.in.dto.PurchaseWarehousingDto;
+import com.sd.business.entity.in.emums.InDetailTypeEnum;
+import com.sd.business.entity.in.emums.InOutTypeEnum;
+import com.sd.business.entity.in.po.InOutStorage;
+import com.sd.business.entity.in.vo.PurchaseWarehousingVo;
+import com.sd.business.entity.purchase.po.Purchase;
+import com.sd.business.entity.supplier.po.Supplier;
+import com.sd.business.mapper.in.PurchaseWarehousingServiceMapper;
+import com.sd.business.service.in.PurchaseWarehousingService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class PurchaseWarehousingServiceImpl implements PurchaseWarehousingService {
+
+    @Resource
+    private PurchaseWarehousingServiceMapper purchaseWarehousingServiceMapper;
+
+    @Override
+    public Page<PurchaseWarehousingVo> getPage(PurchaseWarehousingDto dto) {
+
+        IWrapper<Object> wrapper = IWrapper.getWrapper();
+        wrapper.eq("ios", InOutStorage::getType, InOutTypeEnum.IN.getKey());
+        wrapper.eq("ios", InOutStorage::getDetailType, InDetailTypeEnum.PURCHASE.getKey());
+        wrapper.like("p", Purchase::getCode, dto.getPurchaseCode());
+        wrapper.like("s", Supplier::getName, dto.getSupplierName());
+        wrapper.like("bs", BomSpec::getCode, dto.getBomSpecCode());
+        wrapper.like("bs", BomSpec::getName, dto.getBomSpecName());
+        wrapper.ge("ios", InOutStorage::getCreateTime, dto.getBeginTime());
+        wrapper.le("ios", InOutStorage::getCreateTime, dto.getEndTime());
+
+        return purchaseWarehousingServiceMapper.getPage(dto.getPage(), wrapper);
+    }
+
+}

+ 26 - 0
sd-business/src/main/resources/mapper/in/PurchaseWarehousingServiceMapper.xml

@@ -0,0 +1,26 @@
+<?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.in.PurchaseWarehousingServiceMapper">
+
+    <select id="getPage" resultType="com.sd.business.entity.in.vo.PurchaseWarehousingVo">
+        select ios.create_time outboundTime,
+               p.code          purchaseCode,
+               ios.code        outboundCode,
+               w.name          warehouseName,
+               s.name          supplierName,
+               bs.code         bomSpecCode,
+               bs.name         bomSpecName,
+               iosb.quantity   outboundQuantity,
+               b.unit          bomSpecUnit,
+               iosb.unit_price outboundUnitPrice
+        from in_out_storage ios
+                 inner join purchase p on ios.purchase_id = p.id
+                 inner join in_out_storage_bom iosb on ios.id = iosb.in_out_storage_id
+                 left join warehouse w on ios.warehouse_id = w.id
+                 left join supplier s on p.supplier_id = s.id
+                 left join bom_spec bs on iosb.bom_spec_id = bs.id
+                 left join bom b on bs.bom_id = b.id
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 3 - 2
sd-cainiao/src/main/java/com/sd/cainiao/controller/CaiNiaoController.java

@@ -2,6 +2,7 @@ package com.sd.cainiao.controller;
 
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.sd.cainiao.service.IsticeService;
+import com.taobao.pac.sdk.cp.dataobject.response.TMS_WAYBILL_GET.WaybillCloudPrintResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -28,8 +29,8 @@ public class CaiNiaoController {
      * 赋值快递面单
      */
     @PostMapping("/takeNum")
-    public void takeNum(@RequestBody BaseSelectDto dto) {
-        isticeService.takeNum(dto.getId());
+    public WaybillCloudPrintResponse takeNum(@RequestBody BaseSelectDto dto) {
+        return isticeService.takeNum(dto.getId());
     }
 
 }

+ 3 - 1
sd-cainiao/src/main/java/com/sd/cainiao/service/IsticeService.java

@@ -1,10 +1,12 @@
 package com.sd.cainiao.service;
 
+import com.taobao.pac.sdk.cp.dataobject.response.TMS_WAYBILL_GET.WaybillCloudPrintResponse;
+
 public interface IsticeService {
 
     /**
      * 通过物流云获取电子面单--取号
      */
-    void takeNum(Long orderEncasementId);
+    WaybillCloudPrintResponse takeNum(Long orderEncasementId);
 
 }

+ 6 - 3
sd-cainiao/src/main/java/com/sd/cainiao/service/impl/IsticeServiceImpl.java

@@ -55,10 +55,10 @@ public class IsticeServiceImpl implements IsticeService {
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public synchronized void takeNum(Long orderEncasementId) {
+    public synchronized WaybillCloudPrintResponse takeNum(Long orderEncasementId) {
         OrderEncasement orderEncasement = orderEncasementService.getById(orderEncasementId);
         if (orderEncasement == null || StrUtil.isNotBlank(orderEncasement.getTrackingNumber())) {
-            return;
+            return null;
         }
 
         Long orderId = orderEncasement.getOrderId();
@@ -96,9 +96,12 @@ public class IsticeServiceImpl implements IsticeService {
         takeNumParam.setItems(itemParamList);
 
         List<WaybillCloudPrintResponse> waybillCloudPrintResponses = takeNum(takeNumParam);
+        WaybillCloudPrintResponse waybillCloudPrintResponse = waybillCloudPrintResponses.get(0);
 
-        orderEncasement.setTrackingNumber(waybillCloudPrintResponses.get(0).getWaybillCode());
+        orderEncasement.setTrackingNumber(waybillCloudPrintResponse.getWaybillCode());
         orderEncasementService.updateById(orderEncasement);
+
+        return waybillCloudPrintResponse;
     }
 
     public List<WaybillCloudPrintResponse> takeNum(TakeNumParamDto dto) {