Procházet zdrojové kódy

合同头部统计

caozj před 1 rokem
rodič
revize
43598e7781

+ 0 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/Contract.java

@@ -359,5 +359,4 @@ public class Contract extends BasePo {
      */
     @TableField(exist = false)
     private String sellCorporationName;
-
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractVo.java

@@ -78,6 +78,11 @@ public class ContractVo extends Contract {
     private BigDecimal sumPackQuantity;
 
     /**
+     * 已包装数量
+     */
+    private BigDecimal sumAmount;
+
+    /**
      * 合同产品ID
      */
     private Long contractProductId;

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

@@ -96,4 +96,5 @@ public interface ContractMapper extends BaseMapper<Contract> {
      */
     List<AccountRunningWaterVo> getAccountRunningWaterByContractId(@Param("contractId") Long contractId);
 
+    List<ContractVo> getCustomerMoney();
 }

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractService.java

@@ -181,4 +181,10 @@ public interface ContractService extends BaseService<Contract> {
      * 根据合同id获取合同的资金流水信息
      */
     List<AccountRunningWaterVo> getAccountRunningWaterByContractId(Long contractId);
+
+    /**
+     * 统计头部客户金额
+     * @return
+     */
+    Map<String,Object> getHeadCustomerStatistics();
 }

+ 19 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -1612,4 +1612,23 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     public List<AccountRunningWaterVo> getAccountRunningWaterByContractId(Long contractId) {
         return baseMapper.getAccountRunningWaterByContractId(contractId);
     }
+
+    /**
+     * 头部统计客户金额
+     * @return
+     */
+    @Override
+    public Map<String, Object> getHeadCustomerStatistics() {
+        Map<String,Object> map = new HashMap<>();
+        map.put("sumAmount",BigDecimal.ZERO);
+        map.put("sumArrivalAmount",BigDecimal.ZERO);
+        map.put("sumQuantity",BigDecimal.ZERO);
+        List<ContractVo> list = baseMapper.getCustomerMoney();
+        BigDecimal sumAmount = list.stream().map(ContractVo::getSumAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
+        //赋值原卖方公司名称 多公司
+        corporationService.attributeAssign(list, ContractVo::getSellCorporationId, (item, corporation) -> {
+            item.setSellCorporationName(corporation.getName());
+        });
+        return null;
+    }
 }

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

@@ -215,4 +215,14 @@
           AND c.id = #{contractId}
     </select>
 
+    <select id="getCustomerMoney" resultType="com.fjhx.sale.entity.contract.vo.ContractVo">
+        SELECT
+            sell_corporation_id AS sellCorporationId,
+            IFNULL( SUM( amount ), 0 ) AS sumAmount
+        FROM
+            contract
+        WHERE t1.is_show = 0
+        GROUP BY
+            sell_corporation_id
+    </select>
 </mapper>