Pārlūkot izejas kodu

报关委托书

caozj 1 gadu atpakaļ
vecāks
revīzija
251c93e419

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/documents/DocumentsPdfController.java

@@ -7,6 +7,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.sale.service.documents.DocumentsPdfService;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -32,6 +34,14 @@ public class DocumentsPdfController {
     }
 
     /**
+     * 报关委托书详情
+     */
+    @PostMapping("/powerDetail")
+    public Map<String,Object> powerDetail(@RequestBody BaseSelectDto dto) {
+        return documentsPdfService.powerDetail(dto.getId());
+    }
+
+    /**
      * 单证PDF数据存放表新增
      */
     @PostMapping("/add")

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

@@ -8,6 +8,8 @@ import com.fjhx.sale.entity.documents.vo.DocumentsVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -24,4 +26,10 @@ public interface DocumentsMapper extends BaseMapper<Documents> {
      */
     Page<DocumentsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Documents> wrapper);
 
+    /**
+     * 获取合同数据
+     * @param documentId
+     * @return
+     */
+    Map<String,Object> getContractDataById(Long documentId);
 }

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

@@ -30,4 +30,11 @@ public interface DocumentsProductMapper extends BaseMapper<DocumentsProduct> {
      * @return
      */
     List<DocumentsProduct> getDpList(@Param("documentId") Long documentId);
+
+    /**
+     * documentId 获取最大金额数据
+     * @return
+     */
+    DocumentsProduct getMaxMoneyData(@Param("documentId") Long documentId);
+
 }

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/DocumentsPdfService.java

@@ -7,6 +7,8 @@ import com.fjhx.sale.entity.documents.vo.DocumentsPdfVo;
 import com.fjhx.sale.entity.documents.dto.DocumentsPdfSelectDto;
 import com.fjhx.sale.entity.documents.dto.DocumentsPdfDto;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -29,6 +31,11 @@ public interface DocumentsPdfService extends BaseService<DocumentsPdf> {
     DocumentsPdfVo detail(Long id);
 
     /**
+     * 报关委托书详情
+     */
+    Map<String,Object> powerDetail(Long id);
+
+    /**
      * 单证PDF数据存放表新增
      */
     void add(DocumentsPdfDto documentsPdfDto);

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

@@ -30,4 +30,11 @@ public interface DocumentsProductService extends BaseService<DocumentsProduct> {
      * @return
      */
     List<DocumentsProduct> getDpList(Long documentId);
+
+    /**
+     * documentId 单证ID
+     * @return
+     */
+    DocumentsProduct getMaxMoneyData(Long documentId);
+
 }

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

@@ -57,4 +57,11 @@ public interface DocumentsService extends BaseService<Documents> {
      * @return
      */
     DocumentsPdf generateClearanceePdf(Long id);
+
+    /**
+     * 获取合同数据
+     * @param id
+     * @return
+     */
+    Map<String,Object> getContractDataById(Long id);
 }

+ 45 - 0
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsPdfServiceImpl.java

@@ -1,10 +1,20 @@
 package com.fjhx.sale.service.documents.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.sale.entity.documents.po.Documents;
 import com.fjhx.sale.entity.documents.po.DocumentsPdf;
+import com.fjhx.sale.entity.documents.po.DocumentsProduct;
 import com.fjhx.sale.mapper.documents.DocumentsPdfMapper;
 import com.fjhx.sale.service.documents.DocumentsPdfService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.sale.service.documents.DocumentsProductService;
+import com.fjhx.sale.service.documents.DocumentsService;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
+import org.apache.commons.collections4.MapUtils;
+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.DocumentsPdfVo;
@@ -13,6 +23,8 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.fjhx.sale.entity.documents.dto.DocumentsPdfDto;
 import cn.hutool.core.bean.BeanUtil;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -25,6 +37,12 @@ import cn.hutool.core.bean.BeanUtil;
 @Service
 public class DocumentsPdfServiceImpl extends ServiceImpl<DocumentsPdfMapper, DocumentsPdf> implements DocumentsPdfService {
 
+    @Autowired
+    private DocumentsProductService documentsProductService;
+
+    @Autowired
+    private DocumentsService documentsService;
+
     @Override
     public Page<DocumentsPdfVo> getPage(DocumentsPdfSelectDto dto) {
         IWrapper<DocumentsPdf> wrapper = getWrapper();
@@ -45,6 +63,33 @@ public class DocumentsPdfServiceImpl extends ServiceImpl<DocumentsPdfMapper, Doc
         return result;
     }
 
+    /**
+     * 报关委托书详情
+     * @param id
+     * @return
+     */
+    @Override
+    public Map<String,Object> powerDetail(Long id) {
+        DocumentsPdf documentsPdf = this.getOne(Wrappers.<DocumentsPdf>query().lambda().eq(DocumentsPdf::getDocumentId,id).eq(DocumentsPdf::getDataType,1));
+        DocumentsPdfVo result = BeanUtil.toBean(documentsPdf, DocumentsPdfVo.class);
+        if(ObjectUtil.isEmpty(result)){
+            Map<String,Object> map = documentsService.getContractDataById(id);
+            //查询单证数据
+            DocumentsProduct documentsProduct = documentsProductService.getMaxMoneyData(id);
+            if(MapUtils.isEmpty(map)||ObjectUtil.isEmpty(documentsProduct)){
+                throw new ServiceException("数据异常,请联系管理员");
+            }
+            map.put("customerCode",documentsProduct.getCustomsCode());
+            map.put("productName", StringUtils.equals(documentsProduct.getDescribes(),"无")?documentsProduct.getSubDescribe():documentsProduct.getDescribes());
+            map.put("productQuantity",documentsProduct.getQuantity());
+            return map;
+        }else{
+            Map<String,Object> map = JSON.parseObject(result.getContent());
+            return map;
+        }
+    }
+
+
     @Override
     public void add(DocumentsPdfDto documentsPdfDto) {
         this.saveOrUpdate(documentsPdfDto);

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

@@ -42,4 +42,14 @@ public class DocumentsProductServiceImpl extends ServiceImpl<DocumentsProductMap
         return baseMapper.getDpList(documentId);
     }
 
+    /**
+     * 获取最大金额的数据
+     * @param documentId
+     * @return
+     */
+    @Override
+    public DocumentsProduct getMaxMoneyData(Long documentId) {
+        return baseMapper.getMaxMoneyData(documentId);
+    }
+
 }

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

@@ -436,6 +436,16 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
     }
 
     /**
+     * 获取合同数据
+     * @param id
+     * @return
+     */
+    @Override
+    public Map<String, Object> getContractDataById(Long id) {
+        return baseMapper.getContractDataById(id);
+    }
+
+    /**
      * 赋值买卖公司国家省市区名称
      */
     private void setContractArea(ContractVo contractVo) {

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

@@ -23,4 +23,13 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getContractDataById" resultType="java.util.Map">
+        SELECT
+            t2.transport_method,
+            t2.trade_methods
+        FROM
+            documents t1
+                LEFT JOIN contract t2 ON t1.contract_id = t2.id
+        WHERE t1.id = #{documentId}
+    </select>
 </mapper>

+ 13 - 2
hx-sale/src/main/resources/mapper/documents/DocumentsProductMapper.xml

@@ -25,10 +25,21 @@
         SELECT
             t1.*,
             t2.product_id AS productId,
-           t2.pack_detail_id
+            t2.pack_detail_id
         FROM
             documents_product t1
         LEFT JOIN pack_detail_product t2 ON t1.business_id = t2.id
-        WHERE t1.documents_id = #{documentId}
+        WHERE
+              t2.pack_detail_id IS NOT NULL
+              AND t1.documents_id = #{documentId}
+    </select>
+    <select id="getMaxMoneyData" resultType="com.fjhx.sale.entity.documents.po.DocumentsProduct">
+        SELECT
+            *
+        FROM
+                ( SELECT *, price * quantity AS sumAmount FROM documents_product ) t1
+        ORDER BY
+            t1.sumAmount DESC
+            LIMIT 1
     </select>
 </mapper>