Browse Source

添加了报价单的数据

wxf 2 years ago
parent
commit
fee01b7371
29 changed files with 956 additions and 1 deletions
  1. 1 1
      hx-mes/pom.xml
  2. 60 0
      hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsController.java
  3. 34 0
      hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsProductController.java
  4. 52 0
      hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsTransportController.java
  5. 22 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsDto.java
  6. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsProductDto.java
  7. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsProductSelectDto.java
  8. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsSelectDto.java
  9. 20 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsTransportDto.java
  10. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsTransportSelectDto.java
  11. 37 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/Documents.java
  12. 58 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/DocumentsProduct.java
  13. 48 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/DocumentsTransport.java
  14. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsProductVo.java
  15. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsTransportVo.java
  16. 53 0
      hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsVo.java
  17. 4 0
      hx-sale/src/main/java/com/fjhx/sale/flow/PurchaseFlow.java
  18. 27 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsMapper.java
  19. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsProductMapper.java
  20. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsTransportMapper.java
  21. 25 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsProductService.java
  22. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsService.java
  23. 37 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsTransportService.java
  24. 33 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsProductServiceImpl.java
  25. 120 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java
  26. 58 0
      hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsTransportServiceImpl.java
  27. 25 0
      hx-sale/src/main/resources/mapper/documents/DocumentsMapper.xml
  28. 22 0
      hx-sale/src/main/resources/mapper/documents/DocumentsProductMapper.xml
  29. 20 0
      hx-sale/src/main/resources/mapper/documents/DocumentsTransportMapper.xml

+ 1 - 1
hx-mes/pom.xml

@@ -45,4 +45,4 @@
     </dependencies>
 
 
-</project>
+</project>

+ 60 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsController.java

@@ -0,0 +1,60 @@
+package com.fjhx.sale.controller.documents;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsSelectDto;
+import com.fjhx.sale.entity.documents.dto.DocumentsDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.documents.DocumentsService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 单证表 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@RestController
+@RequestMapping("/documents")
+public class DocumentsController {
+
+    @Autowired
+    private DocumentsService documentsService;
+
+    /**
+     * 单证表分页
+     */
+    @PostMapping("/page")
+    public Page<DocumentsVo> page(@RequestBody DocumentsSelectDto dto) {
+        return documentsService.getPage(dto);
+    }
+
+    /**
+     * 单证表明细
+     */
+    @PostMapping("/detail")
+    public DocumentsVo detail(@RequestBody BaseSelectDto dto) {
+        return documentsService.detail(dto.getId());
+    }
+
+    /**
+     * 单证表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody DocumentsDto documentsDto) {
+        documentsService.add(documentsDto);
+    }
+
+    /**
+     * 单证表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        documentsService.delete(dto.getId());
+    }
+
+}

+ 34 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsProductController.java

@@ -0,0 +1,34 @@
+package com.fjhx.sale.controller.documents;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsProductSelectDto;
+import com.fjhx.sale.service.documents.DocumentsProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 单证-产品表 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@RestController
+@RequestMapping("/documentsProduct")
+public class DocumentsProductController {
+
+    @Autowired
+    private DocumentsProductService documentsProductService;
+
+    /**
+     * 单证-产品表分页
+     */
+    @PostMapping("/page")
+    public Page<DocumentsProductVo> page(@RequestBody DocumentsProductSelectDto dto) {
+        return documentsProductService.getPage(dto);
+    }
+
+}

+ 52 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsTransportController.java

@@ -0,0 +1,52 @@
+package com.fjhx.sale.controller.documents;
+
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportDto;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsTransportVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportSelectDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.documents.DocumentsTransportService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 单证-货运表 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@RestController
+@RequestMapping("/documentsTransport")
+public class DocumentsTransportController {
+
+    @Autowired
+    private DocumentsTransportService documentsTransportService;
+
+    /**
+     * 单证-货运表分页
+     */
+    @PostMapping("/page")
+    public Page<DocumentsTransportVo> page(@RequestBody DocumentsTransportSelectDto dto) {
+        return documentsTransportService.getPage(dto);
+    }
+
+    /**
+     * 单证-货运表明细
+     */
+    @PostMapping("/detail")
+    public DocumentsTransportVo detail(@RequestBody BaseSelectDto dto) {
+        return documentsTransportService.detail(dto.getId());
+    }
+
+
+    /**
+     * 单证-货运添加
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody DocumentsTransportDto dto) {
+       documentsTransportService.add(dto);
+    }
+}

+ 22 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsDto.java

@@ -0,0 +1,22 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.fjhx.sale.entity.documents.po.Documents;
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 单证表新增编辑入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsDto extends Documents {
+    //单证-产品表
+    List<DocumentsProduct> documentsProductList;
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsProductDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证-产品表新增编辑入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsProductDto extends DocumentsProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsProductSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证-产品表列表查询入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsProductSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证表列表查询入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsSelectDto extends BaseSelectDto {
+
+}

+ 20 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsTransportDto.java

@@ -0,0 +1,20 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 单证-货运表新增编辑入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsTransportDto extends DocumentsTransport {
+    private List<ObsFile> fileList;
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/dto/DocumentsTransportSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证-货运表列表查询入参实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsTransportSelectDto extends BaseSelectDto {
+
+}

+ 37 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/Documents.java

@@ -0,0 +1,37 @@
+package com.fjhx.sale.entity.documents.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 单证表
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+@TableName("documents")
+public class Documents extends BasePo {
+
+    /**
+     * 主合同Id
+     */
+    private Long contractId;
+
+    /**
+     * 唛头明细
+     */
+    private String remark;
+
+    /**
+     * 国家表id
+     */
+    private String countryId;
+
+}

+ 58 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/DocumentsProduct.java

@@ -0,0 +1,58 @@
+package com.fjhx.sale.entity.documents.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 单证-产品表
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+@TableName("documents_product")
+public class DocumentsProduct extends BasePo {
+
+    /**
+     * 产品ID
+     */
+    private Long productId;
+
+    /**
+     * 单证表ID
+     */
+    private Long documentsId;
+
+    /**
+     * 货物描述
+     */
+    private String describe;
+
+    /**
+     * 货物副描述
+     */
+    private String subDescribe;
+
+    /**
+     * 海关编码
+     */
+    private String customsCode;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 数量
+     */
+    private BigDecimal quantity;
+
+}

+ 48 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/po/DocumentsTransport.java

@@ -0,0 +1,48 @@
+package com.fjhx.sale.entity.documents.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 单证-货运表
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+@TableName("documents_transport")
+public class DocumentsTransport extends BasePo {
+
+    /**
+     * 承运方
+     */
+    private String acceptCarriage;
+
+    /**
+     * 单证ID
+     */
+    private String documentsId;
+
+
+    /**
+     * 起运时间
+     */
+    private Date departureTime;
+
+    /**
+     * 单号
+     */
+    private String code;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsProductVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.vo;
+
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证-产品表列表查询返回值实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsProductVo extends DocumentsProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsTransportVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.documents.vo;
+
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证-货运表列表查询返回值实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsTransportVo extends DocumentsTransport {
+
+}

+ 53 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/documents/vo/DocumentsVo.java

@@ -0,0 +1,53 @@
+package com.fjhx.sale.entity.documents.vo;
+
+import com.fjhx.sale.entity.documents.po.Documents;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 单证表列表查询返回值实体
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Getter
+@Setter
+public class DocumentsVo extends Documents {
+
+    /**
+     * 归属公司ID(卖方公司ID)
+     */
+    private String sellCorporationId;
+
+
+    /**
+     * 客户ID(买方公司ID)
+     */
+    private String buyCorporationId;
+
+    /**
+     * 归属公司名称(卖方公司名称)
+     */
+    private String sellCorporationName;
+
+
+    /**
+     * 客户名称(买方公司名称)
+     */
+    private String buyCorporationName;
+
+    /**
+     * 主合同编号
+     */
+    private String code;
+
+    /**
+     *承运方
+     */
+    private String acceptCarriage;
+
+    /**
+     * 货运单号
+     */
+    private String acceptCode;
+}

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/PurchaseFlow.java

@@ -1,9 +1,11 @@
 package com.fjhx.sale.flow;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.purchase.entity.purchase.enums.PurchaseDataResourceEnum;
 import com.fjhx.purchase.entity.purchase.enums.PurchaseDetailStatusEnum;
@@ -55,6 +57,7 @@ public class PurchaseFlow extends FlowDelegate {
      */
     @Override
     public Long start(Long flowId, JSONObject submitData) {
+        DynamicDataSourceContextHolder.push(SourceConstant.PURCHASE);
         Purchase purchase = submitData.toJavaObject(Purchase.class);
         purchase.setCode(CodeEnum.PURCHASE.getCode());
         purchase.setPurchaseStatus(PurchaseStatusEnum.UNDER_REVIEW.getKey());
@@ -66,6 +69,7 @@ public class PurchaseFlow extends FlowDelegate {
             }
             purchaseDetailService.saveBatch(purchaseDetailList);
         }
+        DynamicDataSourceContextHolder.poll();
         return purchase.getId();
     }
 

+ 27 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsMapper.java

@@ -0,0 +1,27 @@
+package com.fjhx.sale.mapper.documents;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fjhx.sale.entity.documents.po.Documents;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 单证表 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsMapper extends BaseMapper<Documents> {
+
+    /**
+     * 单证表分页
+     */
+    Page<DocumentsVo> getPage(@Param("page") Page<Object> page, @Param("ew") QueryWrapper<Object> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsProductMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.documents;
+
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 单证-产品表 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsProductMapper extends BaseMapper<DocumentsProduct> {
+
+    /**
+     * 单证-产品表分页
+     */
+    Page<DocumentsProductVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<DocumentsProduct> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/documents/DocumentsTransportMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.documents;
+
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsTransportVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 单证-货运表 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsTransportMapper extends BaseMapper<DocumentsTransport> {
+
+    /**
+     * 单证-货运表分页
+     */
+    Page<DocumentsTransportVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<DocumentsTransport> wrapper);
+
+}

+ 25 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsProductService.java

@@ -0,0 +1,25 @@
+package com.fjhx.sale.service.documents;
+
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsProductSelectDto;
+
+
+/**
+ * <p>
+ * 单证-产品表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsProductService extends BaseService<DocumentsProduct> {
+
+    /**
+     * 单证-产品表分页
+     */
+    Page<DocumentsProductVo> getPage(DocumentsProductSelectDto dto);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.documents;
+
+import com.fjhx.sale.entity.documents.po.Documents;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsSelectDto;
+import com.fjhx.sale.entity.documents.dto.DocumentsDto;
+
+
+/**
+ * <p>
+ * 单证表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsService extends BaseService<Documents> {
+
+    /**
+     * 单证表分页
+     */
+    Page<DocumentsVo> getPage(DocumentsSelectDto dto);
+
+    /**
+     * 单证表明细
+     */
+    DocumentsVo detail(Long id);
+
+    /**
+     * 单证表新增
+     */
+    void add(DocumentsDto documentsDto);
+
+    /**
+     * 单证表编辑
+     */
+    void edit(DocumentsDto documentsDto);
+
+    /**
+     * 单证表删除
+     */
+    void delete(Long id);
+
+}

+ 37 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsTransportService.java

@@ -0,0 +1,37 @@
+package com.fjhx.sale.service.documents;
+
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportDto;
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsTransportVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportSelectDto;
+
+
+/**
+ * <p>
+ * 单证-货运表 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+public interface DocumentsTransportService extends BaseService<DocumentsTransport> {
+
+    /**
+     * 单证-货运表分页
+     */
+    Page<DocumentsTransportVo> getPage(DocumentsTransportSelectDto dto);
+
+    /**
+     * 单证-货运表明细
+     */
+    DocumentsTransportVo detail(Long id);
+
+    /**
+     * 单证-货运添加
+     * @param dto
+     * @return
+     */
+    void add(DocumentsTransportDto dto);
+}

+ 33 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsProductServiceImpl.java

@@ -0,0 +1,33 @@
+package com.fjhx.sale.service.documents.impl;
+
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import com.fjhx.sale.mapper.documents.DocumentsProductMapper;
+import com.fjhx.sale.service.documents.DocumentsProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsProductSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+
+/**
+ * <p>
+ * 单证-产品表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Service
+public class DocumentsProductServiceImpl extends ServiceImpl<DocumentsProductMapper, DocumentsProduct> implements DocumentsProductService {
+
+    @Override
+    public Page<DocumentsProductVo> getPage(DocumentsProductSelectDto dto) {
+        IWrapper<DocumentsProduct> wrapper = getWrapper();
+        wrapper.orderByDesc("dp", DocumentsProduct::getId);
+        Page<DocumentsProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+}

+ 120 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java

@@ -0,0 +1,120 @@
+package com.fjhx.sale.service.documents.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.entity.corporation.po.Corporation;
+import com.fjhx.common.service.corporation.CorporationService;
+import com.fjhx.sale.entity.documents.po.Documents;
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import com.fjhx.sale.mapper.documents.DocumentsMapper;
+import com.fjhx.sale.service.documents.DocumentsProductService;
+import com.fjhx.sale.service.documents.DocumentsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.sale.service.documents.DocumentsTransportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.documents.dto.DocumentsDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 单证表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Service
+public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents> implements DocumentsService {
+    @Autowired
+    private DocumentsProductService documentsProductService;
+
+    @Autowired
+    private DocumentsTransportService documentsTransportService;
+
+    @Autowired
+    private CorporationService corporationService;
+    /**
+     * 单证表分页
+     */
+    @Override
+    public Page<DocumentsVo> getPage(DocumentsSelectDto dto) {
+        QueryWrapper<Object> wrapper = Wrappers.query();
+        Page<DocumentsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        //切换数据源
+        DynamicDataSourceContextHolder.push(SourceConstant.COMMON);
+        //查询公司名称信息
+        List<Corporation> corporationList = corporationService.list();
+        Map<Long, List<Corporation>> corporationMap = corporationList.stream().collect(Collectors.groupingBy(Corporation::getId));
+        DynamicDataSourceContextHolder.poll();
+
+        List<DocumentsVo> records = page.getRecords();
+        if (ObjectUtil.isNotEmpty(records)){
+            return page;
+        }
+        for (DocumentsVo record : records) {
+            //赋值归属公司名称
+            List<Corporation> corporationList1 = corporationMap.get(record.getBuyCorporationId());
+            record.setBuyCorporationName(corporationList1.get(0).getName());
+
+            //赋值客户名称
+            List<Corporation> corporationList2 = corporationMap.get(record.getSellCorporationId());
+            record.setSellCorporationId(corporationList2.get(0).getName());
+        }
+        return page;
+    }
+
+    @Override
+    public DocumentsVo detail(Long id) {
+        Documents Documents = this.getById(id);
+        DocumentsVo result = BeanUtil.toBean(Documents, DocumentsVo.class);
+        return result;
+    }
+
+    /**
+     * 单证表新增
+     */
+    @Override
+    public void add(DocumentsDto documentsDto) {
+        //添加单证表的数据
+        this.save(documentsDto);
+
+        //添加单证-产品信息
+        List<DocumentsProduct> documentsProductList = documentsDto.getDocumentsProductList();
+        documentsProductList.forEach(documentsProduct -> documentsProduct.setDocumentsId(documentsDto.getId()));
+        documentsProductService.saveBatch(documentsProductList);
+    }
+
+    @Override
+    public void edit(DocumentsDto documentsDto) {
+        this.updateById(documentsDto);
+    }
+
+    /**
+     * 单证表删除
+     */
+    @Override
+    public void delete(Long id) {
+        //删除单证表的数据
+        this.removeById(id);
+        //删除单证-产品表的数据
+        documentsProductService.remove(Wrappers.<DocumentsProduct>lambdaQuery().eq(DocumentsProduct::getDocumentsId,id));
+
+        //删除单证-货运表的数据
+        documentsTransportService.remove(Wrappers.<DocumentsTransport>lambdaQuery().eq(DocumentsTransport::getDocumentsId,id));
+    }
+
+}

+ 58 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsTransportServiceImpl.java

@@ -0,0 +1,58 @@
+package com.fjhx.sale.service.documents.impl;
+
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportDto;
+import com.fjhx.sale.entity.documents.po.DocumentsTransport;
+import com.fjhx.sale.mapper.documents.DocumentsTransportMapper;
+import com.fjhx.sale.service.documents.DocumentsTransportService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.documents.vo.DocumentsTransportVo;
+import com.fjhx.sale.entity.documents.dto.DocumentsTransportSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 单证-货运表 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-20
+ */
+@Service
+public class DocumentsTransportServiceImpl extends ServiceImpl<DocumentsTransportMapper, DocumentsTransport> implements DocumentsTransportService {
+
+    @Override
+    public Page<DocumentsTransportVo> getPage(DocumentsTransportSelectDto dto) {
+        IWrapper<DocumentsTransport> wrapper = getWrapper();
+        wrapper.orderByDesc("dt", DocumentsTransport::getId);
+        Page<DocumentsTransportVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public DocumentsTransportVo detail(Long id) {
+        DocumentsTransport DocumentsTransport = this.getById(id);
+        DocumentsTransportVo result = BeanUtil.toBean(DocumentsTransport, DocumentsTransportVo.class);
+        return result;
+    }
+
+    /**
+     * 单证-货运添加
+     * @param dto
+     * @return
+     */
+    @Override
+    public void add(DocumentsTransportDto dto) {
+       //添加单证货运表的数据
+        baseMapper.insert(dto);
+
+        //添加附件信息
+        ObsFileUtil.saveFile(dto.getFileList(),dto.getId());
+
+    }
+
+}

+ 25 - 0
hx-sale/src/main/resources/mapper/documents/DocumentsMapper.xml

@@ -0,0 +1,25 @@
+<?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.fjhx.sale.mapper.documents.DocumentsMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.documents.vo.DocumentsVo">
+        select
+            d.id,
+            d.contract_id,
+            d.remark,
+            d.country_id,
+            d.update_time,
+            d.update_user,
+            d.create_user,
+            d.create_time,
+            c.sell_corporation_id sellCorporationId,
+            c.buy_corporation_id buyCorporationId,
+            c.code,
+            dp.accept_carriage acceptCarriage,
+            dp.code  acceptCode
+        from documents d
+                 left join contract c on d.contract_id  = c.id
+                 left join documents_transport dp on d.id = dp.documents_id
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 22 - 0
hx-sale/src/main/resources/mapper/documents/DocumentsProductMapper.xml

@@ -0,0 +1,22 @@
+<?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.fjhx.sale.mapper.documents.DocumentsProductMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.documents.vo.DocumentsProductVo">
+        select
+            dp.id,
+            dp.product_id,
+            dp.documents_id,
+            dp.describe,
+            dp.sub_describe,
+            dp.customs_code,
+            dp.price,
+            dp.quantity,
+            dp.update_time,
+            dp.update_user,
+            dp.create_user,
+            dp.create_time
+        from documents_product dp
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 20 - 0
hx-sale/src/main/resources/mapper/documents/DocumentsTransportMapper.xml

@@ -0,0 +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.fjhx.sale.mapper.documents.DocumentsTransportMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.documents.vo.DocumentsTransportVo">
+        select
+            dt.id,
+            dt.documents_id,
+            dt.accept_carriage,
+            dt.departure_time,
+            dt.code,
+            dt.remark,
+            dt.update_time,
+            dt.update_user,
+            dt.create_user,
+            dt.create_time
+        from documents_transport dt
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>