Browse Source

拼接匹配规则预览1测试

v1.0
Yen 2 years ago
parent
commit
ca1a56545d
  1. 33
      src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java
  2. 2
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  3. 2
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java
  4. 24
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

33
src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java

@ -43,6 +43,9 @@ public class CostSort2WrapperUtil {
} }
public static List<TbsScheduleItemBudget> sortOfCondition(List<TbsScheduleItemBudget> list){ public static List<TbsScheduleItemBudget> sortOfCondition(List<TbsScheduleItemBudget> list){
if(list.size()==0){
return new ArrayList<>();
}
List<TbsScheduleItemBudget> listResult = new ArrayList<>(); List<TbsScheduleItemBudget> listResult = new ArrayList<>();
//条件排序 //条件排序
List<TbsScheduleItemBudget> sortOfCondition = new ArrayList<>(); List<TbsScheduleItemBudget> sortOfCondition = new ArrayList<>();
@ -54,23 +57,35 @@ public class CostSort2WrapperUtil {
sortOfNoCondition.add(scheduleItemBudget); sortOfNoCondition.add(scheduleItemBudget);
} }
} }
//商品排序 sortProductAndTime(sortOfNoCondition);
sortProductAndTime(sortOfCondition);
listResult.addAll(sortOfNoCondition);
listResult.addAll(sortOfCondition);
return listResult;
}
private static void sortProductAndTime(List<TbsScheduleItemBudget> list) {
//时间区间内,区间长度取最短
Collections.sort(list, (o1, o2) -> { Collections.sort(list, (o1, o2) -> {
int len1 = o1.getConditionGoodsIds().split("_").length; Integer day1 = o1.getEndDate().getDayOfYear();
int len2 = o2.getConditionGoodsIds().split("_").length; Integer day2 = o2.getEndDate().getDayOfYear();
return len2 - len1; return day2-day1;
}); });
//时间区间内,区间长度取最短
Collections.sort(list, (o1, o2) -> { Collections.sort(list, (o1, o2) -> {
Long day1 = Duration.between(o1.getStartDate(), o1.getEndDate()).toDays(); Long day1 = Duration.between(o1.getStartDate(), o1.getEndDate()).toDays();
Long day2 = Duration.between(o2.getStartDate(), o2.getEndDate()).toDays(); Long day2 = Duration.between(o2.getStartDate(), o2.getEndDate()).toDays();
log.debug("时间区间相同,day1:{} , day2:{}",day1,day2); log.debug("时间区间相同,day1:{} , day2:{}",day1,day2);
return (int) (day1-day2); return (int) (day2-day1);
});
//商品排序
Collections.sort(list, (o1, o2) -> {
int len1 = o1.getConditionGoodsIds().split("_").length;
int len2 = o2.getConditionGoodsIds().split("_").length;
log.debug("时间区间相同,len1:{} , len2:{}",len1,len2);
return len2 - len1;
}); });
listResult.addAll(sortOfNoCondition);
listResult.addAll(sortOfCondition);
return listResult;
} }
} }

2
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -273,6 +273,7 @@ public class TbsCostApplyController {
* @param id * @param id
* @return * @return
*/ */
@LimitSubmit
@PostMapping("/settingWithChange/{id}") @PostMapping("/settingWithChange/{id}")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT) @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -285,6 +286,7 @@ public class TbsCostApplyController {
* @param id * @param id
* @return * @return
*/ */
@LimitSubmit
@PostMapping("/cancelWithChange/{id}") @PostMapping("/cancelWithChange/{id}")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT) @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.INSERT)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

2
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java

@ -123,7 +123,7 @@ public class TbsBudgetMatchApplication {
leftTheadHeaderList.add(theadHeader); leftTheadHeaderList.add(theadHeader);
TbsBudgetTableVo.TableValue tableValue = new TbsBudgetTableVo.TableValue(); TbsBudgetTableVo.TableValue tableValue = new TbsBudgetTableVo.TableValue();
tableValue.setTopId(centerGoods.getScheduleItemBudgetId()+""); tableValue.setTopId(centerGoods.getScheduleItemBudgetId()==null?"0":centerGoods.getScheduleItemBudgetId().toString());
tableValue.setLeftId(centerGoods.getId()+""); tableValue.setLeftId(centerGoods.getId()+"");
tableValue.setValue(centerGoods.getCenterGoodsAmount()); tableValue.setValue(centerGoods.getCenterGoodsAmount());
tableValueList.add(tableValue); tableValueList.add(tableValue);

24
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -13,8 +13,11 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bir.entity.BirActivityCenterGoods; import com.qs.serve.modules.bir.entity.BirActivityCenterGoods;
import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO;
import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo; import com.qs.serve.modules.bir.entity.vo.YtdQtdToOAVo;
import com.qs.serve.modules.bir.mapper.BirActivityCenterGoodsMapper;
import com.qs.serve.modules.bir.mapper.BirBaseActivityMapper;
import com.qs.serve.modules.bir.service.BirCenterRateService; import com.qs.serve.modules.bir.service.BirCenterRateService;
import com.qs.serve.modules.bir.service.BirRoiRateService; import com.qs.serve.modules.bir.service.BirRoiRateService;
import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion;
@ -103,14 +106,18 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private TbsActivityChannelMapper activityChannelMapper; private TbsActivityChannelMapper activityChannelMapper;
private TbsActivityChannelPointMapper activityChannelPointMapper; private TbsActivityChannelPointMapper activityChannelPointMapper;
private ProjectProperties projectProperties; private ProjectProperties projectProperties;
private BirRoiRateService birRoiRateService;
private TbsCostPercentMapper tbsCostPercentMapper; private TbsCostPercentMapper tbsCostPercentMapper;
private TbsScheduleItemBudgetMapper tbsScheduleItemBudgetMapper; private TbsScheduleItemBudgetMapper tbsScheduleItemBudgetMapper;
private final ErpDispatchDataMapper dispatchDataMapper; private final ErpDispatchDataMapper dispatchDataMapper;
private TbsCostContractMapper costContractMapper; private TbsCostContractMapper costContractMapper;
private VtbVerificationMapper verificationMapper; private VtbVerificationMapper verificationMapper;
private SysAttachService sysAttachService; private SysAttachService sysAttachService;
private BirRoiRateService birRoiRateService;
private BirCenterRateService centerRateService; private BirCenterRateService centerRateService;
private BirActivityCenterGoodsMapper birActivityCenterGoodsMapper;
private BirBaseActivityMapper birBaseActivityMapper;
private TbsBudgetMatchApplication tbsBudgetMatchApplication; private TbsBudgetMatchApplication tbsBudgetMatchApplication;
@ -141,6 +148,18 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
LambdaQueryWrapper<TbsBudgetLog> rmLogLqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetLog> rmLogLqw = new LambdaQueryWrapper<>();
rmLogLqw.eq(TbsBudgetLog::getCostApplyId,id); rmLogLqw.eq(TbsBudgetLog::getCostApplyId,id);
budgetLogService.remove(rmLogLqw); budgetLogService.remove(rmLogLqw);
//删除BIR
LambdaQueryWrapper<BirActivityCenterGoods> birActivityCenterGoodsLqw = new LambdaQueryWrapper<>();
birActivityCenterGoodsLqw.eq(BirActivityCenterGoods::getCostApplyId,id);
birActivityCenterGoodsMapper.delete(birActivityCenterGoodsLqw);
LambdaQueryWrapper<BirBaseActivity> birBaseActivityLqw = new LambdaQueryWrapper<>();
birBaseActivityLqw.eq(BirBaseActivity::getCostApplyId,id);
birBaseActivityMapper.delete(birBaseActivityLqw);
//命中预算
budgetCostItemService.removeByCostApplyId(id);
} }
@Override @Override
@ -430,13 +449,14 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
} }
allBudgetItem.add(costItem); allBudgetItem.add(costItem);
}
//保存 //保存
if(costUnItems.size() > 0){ if(costUnItems.size() > 0){
tbsCostUnItemService.saveBatch(costUnItems); tbsCostUnItemService.saveBatch(costUnItems);
} }
budgetCostItemService.saveBatch(allBudgetItem); budgetCostItemService.saveBatch(allBudgetItem);
} }
}
if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){ if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){
if(CollectionUtil.isNotEmpty(budgetLogList)){ if(CollectionUtil.isNotEmpty(budgetLogList)){

Loading…
Cancel
Save