Browse Source

feat(rebate): 调整订单、返利和匹配规则

master
Yen 2 months ago
parent
commit
29d907da00
  1. 4
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java
  2. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java
  3. 3
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java
  4. 1
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java
  5. 4
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java
  6. 5
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  7. 4
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  8. 4
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java
  9. 10
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java
  10. 5
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java

4
cms-modules/cms-system/src/main/java/com/qs/serve/modules/bir/service/impl/BirCenterRateServiceImpl.java

@ -357,6 +357,7 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
try {
this.buildCustomerCenterTargetData(centerType, centerId, costCenter, supplierCode);
} catch (Exception e) {
e.printStackTrace();
log.error("[{}]创建客户成本中心的费率出现异常:{}",supplierCode,e.getMessage());
}
}
@ -394,7 +395,8 @@ public class BirCenterRateServiceImpl implements BirCenterRateService {
supplierCode4Group.add(supplierCode);
LambdaQueryWrapper<BmsSupplier> supplierLqw = new LambdaQueryWrapper<>();
supplierLqw.eq(BmsSupplier::getCode,supplierCode);
BmsSupplier supplier = supplierMapper.selectOne(supplierLqw);
List<BmsSupplier> suppliers = supplierMapper.selectList(supplierLqw);
BmsSupplier supplier = suppliers.get(0);
if(supplier.getComRegionCode()!=null){
LambdaQueryWrapper<BmsSupplier> supplierLqw4Group = new LambdaQueryWrapper<>();
supplierLqw4Group.select(BmsSupplier::getCode);

2
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java

@ -177,7 +177,7 @@ public class OmsSaleOrderController {
public R<PageVo<OmsSaleOrder>> getPage(OmsSaleOrder param){
PageUtil.startPage();
LambdaQueryWrapper<OmsSaleOrder> orderWrapper = new LambdaQueryWrapper<>(param);
orderWrapper.orderByDesc(OmsSaleOrder::getId);
orderWrapper.orderByDesc(OmsSaleOrder::getUserCreateTime);
if(param.getCheckStartTime()!=null){
orderWrapper.ge(OmsSaleOrder::getCheckTime,param.getCheckStartTime().atStartOfDay());

3
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/entity/OmsSaleOrder.java

@ -136,6 +136,9 @@ public class OmsSaleOrder implements Serializable {
@Length(max = 255,message = "制单人手机号长度不能超过255字")
private String userPhone;
private LocalDateTime userCreateTime;
private LocalDateTime userSubmitTime;
/** 发票类型:0->普通发票;1->增值税发票; */
private Integer billType;

1
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java

@ -99,6 +99,7 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service {
order.setUserCode(user.getCode());
order.setUserName(user.getName());
order.setUserPhone(user.getMobile());
order.setUserCreateTime(LocalDateTime.now());
order.setCheckState(0);
order.setOrderErpId(null);
order.setStatus(0);

4
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java

@ -357,7 +357,7 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
public void modifyOrder(OmsOrderModifyParam param) {
OmsSaleOrder order = super.getById(param.getId());
if (!order.getStatus().equals(0)) {
Assert.throwEx("非草稿状态无法修改");
Assert.throwEx("单据已提交成功,请刷新页面");
}
if (order.getOrderType().equals(3)) {
Assert.throwEx("临期品订单不支持该接口修改");
@ -711,6 +711,7 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
order.setUserName(user.getName());
order.setUserCode(user.getCode());
order.setUserPhone(user.getMobile());
order.setUserCreateTime(LocalDateTime.now());
order.setVersion("cms");
String transportId = confirmOrder.getTransportId();
@ -718,7 +719,6 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
this.assignTransportInfo(order, transportId, tankId);
this.appendCusRegion(supplier, order);
order.setBillType(createOrderParam.getBillType());
order.setUrgentFlag(createOrderParam.getUrgentFlag());
order.setRemark(createOrderParam.getRemark());

5
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -227,6 +227,11 @@ public class TbsActivity implements Serializable {
*/
private String currVerificationId;
/**
* 自动核销状态:0-无需自动核销1-需自动核销2-已自动核销
*/
private Integer autoCheckState;
@TableField(exist = false)
private List<?> attachList;

4
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

@ -207,7 +207,7 @@ public class TbsBudgetApplicationService {
//所有满足条件的考核期,用于加载历史核销费用
List<TbsScheduleItemBudget> scheduleItemList = this.loadScheduleBudgetAndSetting(activityList, budgetIds, noBudgetActivityIds,costSortWrapper);
this.checkPointBudgetId(pointBudgetId, budgetIds,"未满足预算考核期");
List<String> centerIds = activityCenterList.stream().map(TbsActivityCenter::getCenterId).collect(Collectors.toList());
List<String> centerCodes = activityCenterList.stream().map(TbsActivityCenter::getCenterCode).collect(Collectors.toList());
List<Long> subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList());
//通过模板限制,选中指定的预算
List<Long> limitBudgetIds = new ArrayList<>();
@ -234,7 +234,7 @@ public class TbsBudgetApplicationService {
budgetLqw.and(qw->qw.eq(TbsBudget::getSubjectId,0).or(qw2->qw2.in(TbsBudget::getSubjectId,subjectIds)));
//排除随货编码
//budgetLqw.ne(TbsBudget::getSubjectCode,"FYMC05");
budgetLqw.in(TbsBudget::getCenterId,centerIds);
budgetLqw.in(TbsBudget::getCenterCode,centerCodes);
budgetLqw.eq(TbsBudget::getBudgetState,1);
//科目限制>品类之间>时间区间
budgetLqw.orderByDesc(TbsBudget::getSubjectId);

4
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java

@ -811,7 +811,7 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
getRequestService().testConnection();
TbsCostApply costApply = costApplyService.getById(affairCommit.getCostApplyId());
if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){
Assert.throwEx("费用申请处于未非审批状态");
Assert.throwEx("单据状态已更新,请刷新当前页面");
}
String syFormId = costApply.getSyFormId();
String templateCode = getTemplateCode();
@ -879,7 +879,7 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TbsCostApply costApply = costApplyService.getById(affairCommit.getCostApplyId());
if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){
Assert.throwEx("费用申请处于未非审批状态");
Assert.throwEx("费用状态已更新,请刷新当前页面");
}
return costApply.getSyFormId();
}

10
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java

@ -71,6 +71,12 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio
// 默认延迟半个月
preCheckDays = 15;
}
// 自动核销日期类型:0-手动设置;1-自然月;2-自然周
if (rebate.getCheckAutoDateType().equals(1)){
preCheckDays = 30;
}else if (rebate.getCheckAutoDateType().equals(2)){
preCheckDays = 7;
}
// 总返利金额
BigDecimal totalAllAmount = maxLevelsAmount.multiply(new BigDecimal(periodList.size()));
@ -90,7 +96,6 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio
tbsActivitySubjectService.remove(delQw);
}
// 转化为费用申请
TbsCostApply costApply = new TbsCostApply();
costApply.setRebateId(rebateId);
@ -136,6 +141,9 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio
activity.setPreStartDate(period.getPeriodStartDate().plusDays(preCheckDays));
activity.setPreEndDate(period.getPeriodEndDate().plusDays(preCheckDays));
activity.setPreCheckDate(period.getPeriodEndDate().plusDays(preCheckDays));
// 核销模式:0-人工复核;1-自动核销
// 活动状态自动核销状态:0-无需自动核销;1-需自动核销;2-已自动核销
activity.setAutoCheckState(rebate.getCheckModel());
activity.setTotalAmount(maxLevelsAmount);
tbsActivityService.save(activity);
Long activityId = activity.getId();

5
cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java

@ -212,6 +212,11 @@ public class VtbVerification implements Serializable {
/** 实际发货金额(申请时) */
private BigDecimal finalDispatchAmtRecord;
/**
* 自动核销状态:0-无需自动核销1-需自动核销
*/
private Integer autoCheckState;
@TableField(exist = false)
private List<?> attachList;

Loading…
Cancel
Save