Browse Source

Merge branch 'test' into dev

# Conflicts:
#	hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsPdfServiceImpl.java
yzc 1 year ago
parent
commit
b393733750

+ 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")

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractMapper.java

@@ -102,5 +102,5 @@ public interface ContractMapper extends BaseMapper<Contract> {
     List<AccountRunningWaterVo> getAccountRunningWaterByContractId(@Param("contractId") Long contractId);
 
     void updateContract(Contract contract);
-    List<ContractVo> getCustomerMoney();
+    List<ContractVo> getCustomerMoney(@Param("authIds")List<Long> authIds);
 }

+ 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);
+
 }

+ 9 - 3
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -1677,7 +1677,13 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         map.put("sumArrivalAmount",BigDecimal.ZERO);
         map.put("sumQuantity",BigDecimal.ZERO);
         map.put("list",new ArrayList<>());
-        List<ContractVo> list = baseMapper.getCustomerMoney();
+        List<Long> authIdList = customerService.getAuthIdList();
+        List<ContractVo> list;
+        if(CollectionUtils.isNotEmpty(authIdList)){
+            list = baseMapper.getCustomerMoney(authIdList);
+        }else{
+            list = baseMapper.getCustomerMoney(null);
+        }
         if(CollectionUtils.isNotEmpty(list)){
             BigDecimal sumAmount = list.stream().map(ContractVo::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
             BigDecimal sumQuantity = list.stream().map(ContractVo::getSumQuantity).reduce(BigDecimal.ZERO,BigDecimal::add);
@@ -1687,8 +1693,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 item.setSellCorporationName(corporation.getName());
             });
             map.put("sumAmount",sumAmount);
-            map.put("sumArrivalAmount",sumQuantity);
-            map.put("sumQuantity",sumClaimMoney);
+            map.put("sumArrivalAmount",sumClaimMoney);
+            map.put("sumQuantity",sumQuantity);
             map.put("list",list);
         }
         return map;

+ 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);
 }

+ 55 - 11
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsPdfServiceImpl.java

@@ -1,21 +1,30 @@
 package com.fjhx.sale.service.documents.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.sale.entity.documents.dto.DocumentsPdfDto;
+import com.fjhx.sale.entity.documents.dto.DocumentsPdfSelectDto;
 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.entity.documents.vo.DocumentsPdfVo;
 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 com.ruoyi.common.utils.wrapper.IWrapper;
+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;
-import com.fjhx.sale.entity.documents.dto.DocumentsPdfSelectDto;
-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;
 
 
 /**
@@ -23,13 +32,19 @@ import cn.hutool.core.bean.BeanUtil;
  * 单证PDF数据存放表 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-26
  */
 @Service
 public class DocumentsPdfServiceImpl extends ServiceImpl<DocumentsPdfMapper, DocumentsPdf> implements DocumentsPdfService {
 
     @Autowired
+    private DocumentsProductService documentsProductService;
+
+    @Autowired
+    private DocumentsService documentsService;
+
+    @Autowired
     private DocumentsService documentsService;
 
     @Override
@@ -42,22 +57,51 @@ public class DocumentsPdfServiceImpl extends ServiceImpl<DocumentsPdfMapper, Doc
 
     /**
      * 查询详情
+     *
      * @param id 单证ID
      * @return
      */
     @Override
     public DocumentsPdfVo detail(Long id) {
-        DocumentsPdf documentsPdf = this.getOne(Wrappers.<DocumentsPdf>query().lambda().eq(DocumentsPdf::getDocumentId,id).eq(DocumentsPdf::getDataType,1));
+        DocumentsPdf documentsPdf = this.getOne(Wrappers.<DocumentsPdf>query().lambda().eq(DocumentsPdf::getDocumentId, id).eq(DocumentsPdf::getDataType, 1));
         DocumentsPdfVo result = BeanUtil.toBean(documentsPdf, DocumentsPdfVo.class);
-        if(ObjectUtils.isEmpty(result)){
+        if (ObjectUtils.isEmpty(result)) {
             Documents documents = documentsService.detail(id);
             return null;
-        }else{
+        } else {
             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) {

+ 7 - 3
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -243,7 +243,7 @@
     <select id="getCustomerMoney" resultType="com.fjhx.sale.entity.contract.vo.ContractVo">
         SELECT
             t1.sell_corporation_id AS sellCorporationId,
-            IFNULL( SUM( t2.amount * t1.rate ), 0 ) AS sumAmount,
+            IFNULL( SUM( t1.amount * t1.rate ), 0 ) AS sumAmount,
             IFNULL( count(1) ,0 ) AS sumQuantity,
             (
                 SELECT
@@ -255,12 +255,16 @@
             ) AS sumClaimMoney
         FROM
             contract t1
-                LEFT JOIN contract_product t2 ON t1.id = t2.contract_id
         WHERE
             t1.is_show != 1
             AND t1.is_change = 0
             AND t1.`status` >= 30
-            AND t1.`status` &lt; 70
+            AND t1.`status` &lt; 88
+            <if test="authIds neq null and authIds.size() > 0">
+                <foreach collection="authIds" item="authId" open="AND t1.buy_corporation_id IN (" separator="," close=")">
+                    #{authId}
+                </foreach>
+            </if>
         GROUP BY sell_corporation_id
     </select>
     <update id="updateContract" parameterType="com.fjhx.sale.entity.contract.po.Contract">

+ 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>

+ 15 - 6
hx-sale/src/main/resources/mapper/documents/DocumentsProductMapper.xml

@@ -22,13 +22,22 @@
     </select>
 
     <select id="getDpList" resultType="com.fjhx.sale.entity.documents.po.DocumentsProduct">
+        SELECT t1.*,
+               t2.product_id                                   productId,
+               IFNULL(t2.pack_detail_id, t3.pack_detail_id) AS packDetailId,
+               t3.unit                                      AS productUnit
+        FROM documents_product t1
+                 LEFT JOIN pack_detail_product t2 ON t1.business_id = t2.id
+                 LEFT JOIN pack_detail_goods t3 ON t1.business_id = t3.id
+        WHERE t1.documents_id = #{documentId}
+    </select>
+    <select id="getMaxMoneyData" resultType="com.fjhx.sale.entity.documents.po.DocumentsProduct">
         SELECT
-            t1.*,
-            t2.product_id AS productId,
-           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}
+                ( SELECT *, price * quantity AS sumAmount FROM documents_product ) t1
+        ORDER BY
+            t1.sumAmount DESC
+            LIMIT 1
     </select>
 </mapper>