Browse Source

修复核销时centergoods不更新

v1.0
Yen 2 years ago
parent
commit
4733fb59e7
  1. 6
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  2. 3
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbFundFlowMapper.java
  3. 1
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java
  4. 4
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  5. 14
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  6. 13
      src/main/resources/mapper/vtb/VtbFundFlowMapper.xml

6
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -590,7 +590,11 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
xltOrder.setKeHuBianHao(omsOrder.getSupplierCode()); xltOrder.setKeHuBianHao(omsOrder.getSupplierCode());
xltOrder.setShouHuoDiZhi(supplierAddress.getDetail()); xltOrder.setShouHuoDiZhi(supplierAddress.getDetail());
xltOrder.setRenYuanBianHao(omsOrder.getUserCode()); xltOrder.setRenYuanBianHao(omsOrder.getUserCode());
xltOrder.setZhuYiShiXian(sysUser.getName()+"("+sysUser.getMobile()+")"+omsOrder.getRemark()); String remark = sysUser.getName()+"("+sysUser.getMobile()+")"+omsOrder.getRemark()+supplierAddress.getDetail();
if(remark.length()>70){
remark = remark.substring(0,70);
}
xltOrder.setZhuYiShiXian(remark);
xltOrder.setXieRuShiJian(nowTime); xltOrder.setXieRuShiJian(nowTime);
xltOrder.setChuLiShiJian(null); xltOrder.setChuLiShiJian(null);
xltOrder.setRowCreateDate(nowTime); xltOrder.setRowCreateDate(nowTime);

3
src/main/java/com/qs/serve/modules/vtb/mapper/VtbFundFlowMapper.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.vtb.mapper; package com.qs.serve.modules.vtb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.common.model.AmountDTO;
import com.qs.serve.modules.vtb.entity.VtbFundFlow; import com.qs.serve.modules.vtb.entity.VtbFundFlow;
import com.qs.serve.modules.vtb.entity.dto.VtbFundFlowSumAmtDTO; import com.qs.serve.modules.vtb.entity.dto.VtbFundFlowSumAmtDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -20,5 +21,7 @@ public interface VtbFundFlowMapper extends BaseMapper<VtbFundFlow> {
*/ */
List<VtbFundFlowSumAmtDTO> listSumAmount(@Param("query") VtbFundFlow flow); List<VtbFundFlowSumAmtDTO> listSumAmount(@Param("query") VtbFundFlow flow);
List<AmountDTO> listActivityCenterGoodsUsed(@Param("ids")List<Long> ids);
} }

1
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java

@ -6,6 +6,7 @@ import com.qs.serve.modules.vtb.entity.VtbVerification;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**

4
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -405,7 +405,7 @@ public class VtbVerificationApplication {
TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId()); TbsActivityPayCondition payCondition = activityPayConditionService.getById(verification.getPayConditionId());
payCondition.setFinishedFlag(1); payCondition.setFinishedFlag(1);
activityPayConditionService.updateById(payCondition); activityPayConditionService.updateById(payCondition);
}else { }
//刷新活动金额 //刷新活动金额
TbsActivity activity = tbsActivityService.getById(verification.getActivityId()); TbsActivity activity = tbsActivityService.getById(verification.getActivityId());
BigDecimal totalUsed = activity.getUsedAmount().add(totalAmount); BigDecimal totalUsed = activity.getUsedAmount().add(totalAmount);
@ -418,7 +418,7 @@ public class VtbVerificationApplication {
activity4Upd.setActivityState(TbsActivityState.STATE_0_Todo); activity4Upd.setActivityState(TbsActivityState.STATE_0_Todo);
} }
tbsActivityService.updateById(activity4Upd); tbsActivityService.updateById(activity4Upd);
}
//更新金额,已完成 //更新金额,已完成
VtbVerification vtbVer = new VtbVerification(); VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId()); vtbVer.setId(verification.getId());

14
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -7,6 +7,7 @@ import com.qs.serve.common.config.properties.ProjectApisProperties;
import com.qs.serve.common.config.properties.ProjectProperties; import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager; import com.qs.serve.common.framework.manager.AsyncManager;
import com.qs.serve.common.model.AmountDTO;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
@ -45,6 +46,7 @@ import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.*; import com.qs.serve.modules.vtb.entity.*;
import com.qs.serve.modules.vtb.entity.bo.*; import com.qs.serve.modules.vtb.entity.bo.*;
import com.qs.serve.modules.seeyon.entity.XltApticlaim; import com.qs.serve.modules.seeyon.entity.XltApticlaim;
import com.qs.serve.modules.vtb.mapper.VtbFundFlowMapper;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.mapper.VtbVerificationYardItemMapper; import com.qs.serve.modules.vtb.mapper.VtbVerificationYardItemMapper;
import com.qs.serve.modules.vtb.mapper.VtbVerificationYardMapper; import com.qs.serve.modules.vtb.mapper.VtbVerificationYardMapper;
@ -100,6 +102,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
private final VtbVerificationChannelPointService verificationChannelPointService; private final VtbVerificationChannelPointService verificationChannelPointService;
private final VtbVerificationSubjectService verificationSubjectService; private final VtbVerificationSubjectService verificationSubjectService;
private final VtbFundFlowService fundFlowService; private final VtbFundFlowService fundFlowService;
private final VtbFundFlowMapper vtbFundFlowMapper;
private final VtbVerificationYardMapper verificationYardMapper; private final VtbVerificationYardMapper verificationYardMapper;
private final VtbVerificationYardItemMapper verificationYardItemMapper; private final VtbVerificationYardItemMapper verificationYardItemMapper;
@ -1314,6 +1317,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
List<TbsActivityCenterGoods> activityCenterGoodsOfSubject, List<TbsActivityCenterGoods> activityCenterGoodsOfSubject,
BigDecimal usedAmount) { BigDecimal usedAmount) {
List<VtbFundFlow> addFundFlowListOfSubject = new ArrayList<>(); List<VtbFundFlow> addFundFlowListOfSubject = new ArrayList<>();
List<Long> centerGoodsIds = activityCenterGoodsOfSubject.stream().map(TbsActivityCenterGoods::getId).collect(Collectors.toList());
List<AmountDTO> lastUsedList = vtbFundFlowMapper.listActivityCenterGoodsUsed(centerGoodsIds);
//统计不匹配金额 //统计不匹配金额
for (int i = 0; i < activityCenterGoodsOfSubject.size(); i++) { for (int i = 0; i < activityCenterGoodsOfSubject.size(); i++) {
TbsActivityCenterGoods centerGoods = activityCenterGoodsOfSubject.get(i); TbsActivityCenterGoods centerGoods = activityCenterGoodsOfSubject.get(i);
@ -1331,6 +1336,15 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
.divide(new BigDecimal("100"), RoundingMode.HALF_DOWN) .divide(new BigDecimal("100"), RoundingMode.HALF_DOWN)
.setScale(2, RoundingMode.DOWN);; .setScale(2, RoundingMode.DOWN);;
} }
BigDecimal lastUsed = BigDecimal.ZERO;
for (AmountDTO amountDTO : lastUsedList) {
if(amountDTO.getId().equals(centerGoods.getId()+"")){
lastUsed = amountDTO.getAmount();
break;
}
}
centerGoods.setUsedAmount(currentTimeAmount.add(lastUsed));
activityCenterGoodsService.updateById(centerGoods);
VtbFundFlow fundFlow = CopierUtil.copy(centerGoods,new VtbFundFlow()); VtbFundFlow fundFlow = CopierUtil.copy(centerGoods,new VtbFundFlow());
fundFlow.setId(null); fundFlow.setId(null);
fundFlow.setUsedAmount(currentTimeAmount); fundFlow.setUsedAmount(currentTimeAmount);

13
src/main/resources/mapper/vtb/VtbFundFlowMapper.xml

@ -85,6 +85,19 @@
vtb_fund_flow.activity_id vtb_fund_flow.activity_id
</select> </select>
<select id="listActivityCenterGoodsUsed" resultType="com.qs.serve.common.model.AmountDTO">
select sum(vtb_fund_flow.used_amount) as amount,
center_good_item_id as id
from vtb_fund_flow
where center_good_item_id in
<foreach collection="ids" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
and del_flag = 0
and fund_type = 'verification'
GROUP BY center_good_item_id
</select>
</mapper> </mapper>

Loading…
Cancel
Save