소스 검색

Merge branch 'master' into test

# Conflicts:
#	hx-sale/src/main/java/com/fjhx/sale/entity/sale/po/SaleQuotation.java
yzc 1 년 전
부모
커밋
c59fe4ab21

+ 28 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/commission/po/Commission.java

@@ -111,5 +111,33 @@ public class Commission extends BasePo {
      */
     private Integer settlementStatus;
 
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 业务员名称
+     */
+    private String userName;
+
+    /**
+     * 采购金额
+     */
+    private BigDecimal purchaseAmount;
 
+    /**
+     * 合同金额
+     */
+    private BigDecimal contractAmount;
+
+    /**
+     * 销售合同币种
+     */
+    private String contractCurrency;
+
+    /**
+     * 采购合同币种
+     */
+    private String purchaseCurrency;
 }

+ 4 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/sale/vo/SaleQuotationVo.java

@@ -99,5 +99,8 @@ public class SaleQuotationVo extends SaleQuotation {
      */
     private Long flowId;
 
-
+    /**
+     * 客户标签
+     */
+    private String tag;
 }

+ 22 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/ContractUpdateFlow.java

@@ -3,6 +3,8 @@ package com.fjhx.sale.flow;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.*;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.utils.Assert;
@@ -58,6 +60,9 @@ public class ContractUpdateFlow extends FlowDelegate {
     private ClaimContractService claimContractService;
 
     @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
+
+    @Autowired
     private ClaimService claimService;
 
     @Autowired
@@ -284,6 +289,23 @@ public class ContractUpdateFlow extends FlowDelegate {
         List<ClaimContract> claimContractList = claimContractService.list(Wrappers.<ClaimContract>query().lambda().eq(ClaimContract::getContractId,oldContractId));
         List<Long> claimIds = claimContractList.stream().map(ClaimContract::getClaimId).collect(Collectors.toList());
         List<Long> claimContractIds = claimContractList.stream().map(ClaimContract::getId).collect(Collectors.toList());
+        //取出到账认领数据
+        List<Claim> claims = claimService.list(q -> q.in(Claim::getId, claimIds));
+        for(Claim c : claims){
+            //查询流水数据
+            AccountRunningWater accountRunningWater = accountRunningWaterService.getById(c.getBusinessId());
+            BigDecimal sumClaimMoney = accountRunningWater.getClaimAmount().add(c.getAmount());
+            //更新流水数据为认领状态---已认领金额还原
+            AccountRunningWater water = new AccountRunningWater();
+            if(accountRunningWater.getAmount().compareTo(sumClaimMoney)>0){
+                water.setIsClaim(2);//部分认领
+            }else{
+                water.setIsClaim(0);//未认领
+            }
+            water.setId(c.getBusinessId());
+            water.setClaimAmount(sumClaimMoney);
+            accountRunningWaterService.updateById(water);
+        }
         //删除到账认领数据
         claimContractService.remove(q -> q.in(ClaimContract::getId, claimContractIds));
         //删除到账认领数据

+ 13 - 9
hx-sale/src/main/java/com/fjhx/sale/service/commission/impl/CommissionServiceImpl.java

@@ -42,8 +42,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
     @Override
     public Page<CommissionVo> getPage(CommissionSelectDto dto) {
         QueryWrapper<Object> query = Wrappers.query();
-        query.eq(ObjectUtil.isNotEmpty(dto.getUserId()),"c.user_id",dto.getUserId());
-        query.eq(ObjectUtil.isNotEmpty(dto.getTime()),"DATE_FORMAT(c.create_time,'%Y-%m')",dto.getTime());
+        query.eq(ObjectUtil.isNotEmpty(dto.getUserId()), "c.user_id", dto.getUserId());
+        query.eq(ObjectUtil.isNotEmpty(dto.getTime()), "DATE_FORMAT(c.create_time,'%Y')", dto.getTime());
         query.orderByDesc("c.create_time");
         Page<CommissionVo> page = this.baseMapper.getPage(dto.getPage(), query);
         return page;
@@ -55,7 +55,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
      */
     @Override
     public void settlement(CommissionDto commissionDto) {
-        if (ObjectUtil.isEmpty(commissionDto.getCommissionRule()) || ObjectUtil.isEmpty(commissionDto.getSettlementStatus())){
+        if (ObjectUtil.isEmpty(commissionDto.getSettlementStatus())){
             throw  new ServiceException("参数缺失:结算状态或业绩提成规则表不能为null");
         }
 
@@ -73,9 +73,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
         //如果为未结算则删除业绩提成表与业绩提成规则表的信息
         if (commissionDto.getSettlementStatus() == 0){
             //如果是取消结算,业绩表肯定有值
-            baseMapper.deleteById(commission.getId());
+            Commission cm = baseMapper.selectOne(Wrappers.<Commission>query().lambda().eq(Commission::getContractId,commission.getContractId()));
+            if(ObjectUtil.isEmpty(cm)){
+                throw new ServiceException("数据异常,当前没有业绩提成数据,不能取消结算");
+            }
+            baseMapper.deleteById(cm.getId());
             commissionRuleService.remove(Wrappers.<CommissionRule>lambdaQuery()
-                    .eq(CommissionRule::getCommissionId,commission.getId())
+                    .eq(CommissionRule::getCommissionId,cm.getId())
             );
         }else  if (commissionDto.getSettlementStatus() == 1){
             saveOrUpdate(commissionDto);
@@ -90,7 +94,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
     private void saveOrUpdate(CommissionDto commissionDto){
         CommissionRule commissionRule = new CommissionRule();
         if (ObjectUtil.isNotEmpty(commissionDto.getCommissionRule())){
-           commissionRule = commissionDto.getCommissionRule();
+            commissionRule = commissionDto.getCommissionRule();
         }else {
             commissionRule.setAfterSalesRatio(new BigDecimal(4));
             commissionRule.setDepartmentalRatio(new BigDecimal(33));
@@ -101,19 +105,19 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
 
 
         //计算售后金额:到账金额 * 售后占比(保留两位小数向上取整)
-        commissionDto.setAfterSalesAmount(commissionDto.getContractArrival()
+        commissionDto.setAfterSalesAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getAfterSalesRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算公共金额:到账金额 * 公共占比
-        commissionDto.setPublicAmount(commissionDto.getContractArrival()
+        commissionDto.setPublicAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getPublicRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算总办金额:到账金额 * 总办占比
-        commissionDto.setHaveOverallAmount(commissionDto.getContractArrival()
+        commissionDto.setHaveOverallAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getHaveOverallRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));

+ 8 - 2
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsPdfServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.service.documents.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.sale.entity.documents.po.DocumentsPdf;
 import com.fjhx.sale.mapper.documents.DocumentsPdfMapper;
 import com.fjhx.sale.service.documents.DocumentsPdfService;
@@ -32,10 +33,15 @@ public class DocumentsPdfServiceImpl extends ServiceImpl<DocumentsPdfMapper, Doc
         return page;
     }
 
+    /**
+     * 查询详情
+     * @param id 单证ID
+     * @return
+     */
     @Override
     public DocumentsPdfVo detail(Long id) {
-        DocumentsPdf DocumentsPdf = this.getById(id);
-        DocumentsPdfVo result = BeanUtil.toBean(DocumentsPdf, DocumentsPdfVo.class);
+        DocumentsPdf documentsPdf = this.getOne(Wrappers.<DocumentsPdf>query().lambda().eq(DocumentsPdf::getDocumentId,id).eq(DocumentsPdf::getDataType,1));
+        DocumentsPdfVo result = BeanUtil.toBean(documentsPdf, DocumentsPdfVo.class);
         return result;
     }
 

+ 1 - 1
hx-sale/src/main/resources/mapper/pack/PackDetailMapper.xml

@@ -30,7 +30,7 @@
                      sum( t1.bom_volume*t1.pack_quantity )                 bomVolume,
                      t1.shipment_status,
                      t1.shipment_time,
-                     t1.contract_ids
+                     GROUP_CONCAT(DISTINCT t1.contract_ids) AS contractIds
               FROM pack_detail t1
               GROUP BY t1.pack_id
               ORDER BY t1.create_time desc) pd