Browse Source

Merge branch 'test' into dev

caozj 1 năm trước cách đây
mục cha
commit
a9e856e65b

+ 8 - 2
hx-purchase/src/main/java/com/fjhx/purchase/controller/purchase/PurchaseController.java

@@ -90,13 +90,19 @@ public class PurchaseController {
     }
 
     /**
+     * 根据供应商查询无发票的采购合同
+     */
+    @GetMapping("/getNoInvoiceListBySupplyId")
+    public List<Purchase> getNoInvoiceListBySupplyId(@RequestParam("supplyId") String supplyId) {
+        return purchaseService.getNoInvoiceListBySupplyId(supplyId);
+    }
+    /**
      * 根据供应商查询采购合同
      */
     @GetMapping("/getListBySupplyId")
     public List<Purchase> getListBySupplyId(@RequestParam("supplyId") String supplyId) {
-        return purchaseService.getListBySupplyId(supplyId);
+        return purchaseService.getNoInvoiceListBySupplyId(supplyId);
     }
-
     /**
      * 货款账单
      */

+ 8 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/PurchaseService.java

@@ -54,6 +54,14 @@ public interface PurchaseService extends BaseService<Purchase> {
     void delete(Long id);
 
     /**
+     * 根据供应商查询无发票的采购合同
+     *
+     * @param supplyId
+     * @return
+     */
+    List<Purchase> getNoInvoiceListBySupplyId(String supplyId);
+
+    /**
      * 根据供应商查询采购合同
      *
      * @param supplyId

+ 33 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/purchase/impl/PurchaseServiceImpl.java

@@ -361,7 +361,39 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
     }
 
     /**
-     * 根据供应商查询采购合同
+     * 根据供应商查询无发票的采购合同
+     *
+     * @param supplyId
+     * @return
+     */
+    @Override
+    public List<Purchase> getNoInvoiceListBySupplyId(String supplyId) {
+        if (StringUtils.isEmpty(supplyId)) {
+            throw new ServiceException("供应商ID不能为空");
+        }
+        List<Purchase> list = this.list(Wrappers.<Purchase>query().lambda().eq(Purchase::getSupplyId, supplyId).eq(Purchase::getPurchaseStatus, PurchaseStatusEnum.PASS.getKey()).ne(Purchase::getInvoiceType,"0"));
+        List<Long> ids = list.stream().distinct().map(Purchase::getId).collect(Collectors.toList());
+        List<InvoiceDetailsVo> invoiceDetailsList = invoiceDetailsService.getSumMoneyByPurchaseIds(ids);
+        Map<Long, BigDecimal> invoiceMap = invoiceDetailsList.stream().collect(Collectors.toMap(InvoiceDetailsVo::getPurchaseId, InvoiceDetailsVo::getSumMoney));
+        List<PayDetailVo> payDetailVoList = payDetailService.getSumMoneyByPurchaseIds(ids);
+        Map<Long, BigDecimal> payMap = payDetailVoList.stream().collect(Collectors.toMap(PayDetailVo::getPurchaseId, PayDetailVo::getSumMoney));
+        for (Purchase p : list) {
+            if (MapUtils.isNotEmpty(invoiceMap)) {
+                p.setSumInvoiceMoney(invoiceMap.getOrDefault(p.getId(), BigDecimal.ZERO));
+            } else {
+                p.setSumInvoiceMoney(BigDecimal.ZERO);
+            }
+            if (MapUtils.isNotEmpty(payMap)) {
+                p.setSumPayMoney(payMap.getOrDefault(p.getId(), BigDecimal.ZERO));
+            } else {
+                p.setSumPayMoney(BigDecimal.ZERO);
+            }
+        }
+
+        return list;
+    }
+    /**
+     * 根据供应商查询无发票的采购合同
      *
      * @param supplyId
      * @return

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

@@ -85,5 +85,10 @@ public class DocumentsProduct extends BasePo {
     @TableField(exist = false)
     private String productSpec;
 
+    /**
+     * 产品ID
+     */
+    @TableField(exist = false)
+    private Long productId;
 
 }

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

@@ -13,5 +13,4 @@ import lombok.Setter;
 @Getter
 @Setter
 public class DocumentsProductVo extends DocumentsProduct {
-
 }

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

@@ -7,6 +7,8 @@ import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,4 +25,9 @@ public interface DocumentsProductMapper extends BaseMapper<DocumentsProduct> {
      */
     Page<DocumentsProductVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<DocumentsProduct> wrapper);
 
+    /**
+     * documentId 单证ID
+     * @return
+     */
+    List<DocumentsProduct> getDpList(@Param("documentId") Long documentId);
 }

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

@@ -5,6 +5,9 @@ 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;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
@@ -22,4 +25,9 @@ public interface DocumentsProductService extends BaseService<DocumentsProduct> {
      */
     Page<DocumentsProductVo> getPage(DocumentsProductSelectDto dto);
 
+    /**
+     * documentId 单证ID
+     * @return
+     */
+    List<DocumentsProduct> getDpList(Long documentId);
 }

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

@@ -10,6 +10,8 @@ import com.fjhx.sale.entity.documents.vo.DocumentsProductVo;
 import com.fjhx.sale.entity.documents.dto.DocumentsProductSelectDto;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -30,4 +32,14 @@ public class DocumentsProductServiceImpl extends ServiceImpl<DocumentsProductMap
         return page;
     }
 
+    /**
+     * 获取单证产品
+     * @param documentId
+     * @return
+     */
+    @Override
+    public List<DocumentsProduct> getDpList(Long documentId) {
+        return baseMapper.getDpList(documentId);
+    }
+
 }

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

@@ -203,9 +203,9 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
         //查询卖方
         Corporation corporation = corporationService.getById(contractVo.getSellCorporationId());
         //查询单证货物
-        List<DocumentsProduct> documentsProducts = documentsProductService.list(Wrappers.<DocumentsProduct>query().lambda().eq(DocumentsProduct::getDocumentsId, documents.getId()));
+        List<DocumentsProduct> documentsProducts = documentsProductService.getDpList(documents.getId());
         // 赋值产品属性
-        productInfoService.attributeAssign(documentsProducts, DocumentsProduct::getBusinessId, (item, product) -> {
+        productInfoService.attributeAssign(documentsProducts, DocumentsProduct::getProductId, (item, product) -> {
             item.setProductCode(product.getCode());
             item.setProductUnit(product.getUnit());
             item.setProductName(product.getName());
@@ -344,7 +344,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             //总体积 立方米
             data.put("sumBomVolume", dataMap.get("sumBomVolume"));
             //成交方式
-            data.put("tradeModeName", contract.getPaymentMethod());
+            data.put("tradeModeName", contract.getTradeMethods());
             //运费
             data.put("freightPrice", BigDecimal.ZERO);//暂无
             // 保费
@@ -385,7 +385,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
                     //成交单位
                     object.put("unit", product.getProductUnit());
                     //原产国(地区)
-                    object.put("countryChinese", corporation.getName());
+                    object.put("countryChinese", contract.getSellCountryName());
                     //总价与币制
                     object.put("sumPrice", "");
                     //成交单价
@@ -420,12 +420,12 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
                 contractVo.getSellCityId()
         );
         Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
-        contractVo.setBuyCountryName(areaMap.get(contractVo.getBuyCountryId()));
-        contractVo.setBuyProvinceName(areaMap.get(contractVo.getBuyProvinceId()));
-        contractVo.setBuyCityName(areaMap.get(contractVo.getBuyCityId()));
-        contractVo.setSellCountryName(areaMap.get(contractVo.getSellCountryId()));
-        contractVo.setSellProvinceName(areaMap.get(contractVo.getSellProvinceId()));
-        contractVo.setSellCityName(areaMap.get(contractVo.getSellCityId()));
+        contractVo.setBuyCountryName(areaMap.getOrDefault(contractVo.getBuyCountryId(),contractVo.getBuyCountryName()));
+        contractVo.setBuyProvinceName(areaMap.getOrDefault(contractVo.getBuyProvinceId(),contractVo.getBuyProvinceName()));
+        contractVo.setBuyCityName(areaMap.getOrDefault(contractVo.getBuyCityId(),contractVo.getBuyCityName()));
+        contractVo.setSellCountryName(areaMap.getOrDefault(contractVo.getSellCountryId(),contractVo.getSellCountryName()));
+        contractVo.setSellProvinceName(areaMap.getOrDefault(contractVo.getSellProvinceId(),contractVo.getSellProvinceName()));
+        contractVo.setSellCityName(areaMap.getOrDefault(contractVo.getSellCityId(),contractVo.getSellCityName()));
     }
 
     /**

+ 12 - 10
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -4,19 +4,21 @@
     <select id="getPage" resultType="com.fjhx.sale.entity.contract.vo.ContractVo">
         SELECT *
         FROM
-             (SELECT
-                  t1.*,
-                  IFNULL(t1.amount,0)*IFNULL(t1.rate,0) AS amountCNY,
-                  CASE
-                      WHEN (t1.amount - t1.sumClaimMoney) &lt;= 0 THEN
-                          20
+             (SELECT t1.*,
+                     IFNULL(t1.amount, 0) * IFNULL(t1.rate, 0) AS amountCNY,
+                     CASE
+                         WHEN (t1.amount - t1.sumClaimMoney) &lt;= 0 THEN
+                             20
                          WHEN t1.sumClaimMoney = 0 THEN
-                          0
+                             0
                          ELSE 10
-                      END                               AS refundStatusNew
+                         END                                   AS refundStatusNew
               FROM (SELECT t1.*,
-                           (SELECT IFNULL( SUM(IFNULL(money, 0) * IFNULL(rate,1) ), 0 ) FROM claim_contract
-                            WHERE contract_id = t1.id ) AS sumClaimMoney
+                           (SELECT IFNULL(SUM(IFNULL(cc.money, 0) * IFNULL(arw.rate, 1)), 0)
+                            FROM claim_contract cc
+                                     left join claim c on cc.claim_id = c.id
+                                     LEFT JOIN bytesailing_account.account_running_water arw on c.business_id = arw.id
+                            WHERE cc.contract_id = t1.id) AS sumClaimMoney
                     FROM contract t1) t1) t1
             ${ew.customSqlSegment}
     </select>

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

@@ -21,4 +21,13 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getDpList" resultType="com.fjhx.sale.entity.documents.po.DocumentsProduct">
+        SELECT
+            t1.*,
+            t2.product_id AS productId
+        FROM
+            documents_product t1
+        LEFT JOIN pack_detail_product t2 ON t1.business_id = t2.id
+        WHERE t1.documents_id = #{documentId}
+    </select>
 </mapper>