Browse Source

feat(rebate): 批量核销参数整合

master
Yen 2 months ago
parent
commit
8b78c2393d
  1. 6
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderOptionsServiceImpl.java
  2. 3
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderPart1ServiceImpl.java
  3. 5
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java
  4. 40
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java
  5. 6
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java

6
cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderOptionsServiceImpl.java

@ -96,9 +96,9 @@ public class OmsSaleOrderOptionsServiceImpl implements OmsSaleOrderOptionsServic
if(!userId.equals(omsOrder.getCreateBy())){
Assert.throwEx("越权访问被拦截了");
}
if (!omsOrder.getUserId().equals(userId)) {
Assert.throwEx("非制单人无法下单");
}
// if (!omsOrder.getUserId().equals(userId)) {
// Assert.throwEx("非制单人无法下单");
// }
// 非临期品不走当前流程
if(!omsOrder.getOrderType().equals(3)){
Assert.throwEx("该功能只针对临期品订单");

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

@ -91,7 +91,7 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service {
}
order.setOrderSn(orderPrefix + CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder));
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId());
order.setOrderSource("CMS");
order.setOrderSource("COPY");
order.setCurrency("人民币");
order.setExchangeRate(1);
order.setVersion("cms");
@ -100,6 +100,7 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service {
order.setUserName(user.getName());
order.setUserPhone(user.getMobile());
order.setCheckState(0);
order.setOrderErpId(null);
order.setStatus(0);
order.setOrderStatusCombo(0);
order.setPreDeliveryDate(null);

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

@ -107,6 +107,11 @@ public class TbsAffairCommitBo {
/** 人数 */
private Integer countPerson;
/**
* 审批的发货金额返利类型的审批传参
*/
private BigDecimal finalDispatchAmount;
private List<AffairSubjectCenterItemLine> centerItemLines;

40
cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java

@ -298,14 +298,6 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
boolean isStop = "backed".equals(flag)||"refuse".equals(flag);
//释放费用
boolean isRelease = itemCommit.getReleaseFlag()!=null&&itemCommit.getReleaseFlag().equals(1);
// if (isStop){
// log.warn("单据[{}]状态:{},中止审批",verification.getVerificationCode(),flag);
// verificationApplication.backCommitAndStop(verification, "backed".equals(flag));
// if(isRelease){
// log.warn("单据[{}]状态:{},中止审批并释放费用",verification.getVerificationCode(),flag);
// vtbVerificationService.release(verification.getActivityId(),sysUser.getCode(),false);
// }
// }else
if (!isFinish && !isNext){
log.error("远程调用返回,非指定状态:{}",JsonUtil.objectToJson(commitParam));
continue;
@ -313,10 +305,9 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
yardService.save(yard);
//非终止或者驳回,保存审批线金额明细
BigDecimal totalAmount = BigDecimal.ZERO;
BigDecimal totalDispatchAmount = BigDecimal.ZERO;
if(!isStop){
List<VtbVerificationSubjectCenter> subjectCenters = vtbVerificationSubjectCenterService.listByVerificationId(verification.getId());
//isCenterCommit 代表自定义成本中心维度递交
boolean isCenterCommit = subjectCenters.size()>0;
List<VtbVerificationSubject> verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId());
List<VtbVerificationYardItem> yardItemList = new ArrayList<>();
List<VtbVerificationSubject> verSubject4Update = new ArrayList<>();
@ -325,10 +316,10 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
List<VtbVerificationSubjectCenter> subjectCenterUpdateList = new ArrayList<>();
for (VtbVerificationSubject currVs : verificationSubjects) {
BigDecimal changeAmount = null;
BigDecimal changeDispatch = null;
Integer countSession = null;
Integer countPerson = null;
List<TbsAffairCommitBo.AffairSubjectCenterItemLine> centerItemLineList = null;
// if(isCenterCommit){
if(CollectionUtil.isNotEmpty(itemCommit.getAffairSubjectCenterLines())){
for (TbsAffairCommitBo.AffairSubjectCenterLine centerLine : itemCommit.getAffairSubjectCenterLines()) {
if(currVs.getSubjectId().equals(centerLine.getSubjectId())){
@ -338,9 +329,13 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
changeAmount = changeAmount.add(itemLine.getAmount());
}
}
if (centerLine.getFinalDispatchAmount()!=null){
totalDispatchAmount = totalDispatchAmount.add(centerLine.getFinalDispatchAmount());
}
centerItemLineList = centerLine.getCenterItemLines();
countSession = centerLine.getCountSession();
countPerson = centerLine.getCountPerson();
changeDispatch = centerLine.getFinalDispatchAmount();
break;
}
}
@ -403,6 +398,7 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
VtbVerificationSubject verSub4Upd = new VtbVerificationSubject();
verSub4Upd.setId(currVs.getId());
verSub4Upd.setUsedAmount(changeAmount);
verSub4Upd.setFinalDispatchAmt(changeDispatch);
verSubject4Update.add(verSub4Upd);
}else {
yardItem.setCurrAmount(lastAmount);
@ -439,6 +435,13 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
yardItemList.add(yardItem);
}
// 记录修改的发货金额
if (verification.getRebateId()!=null&&verification.getRebateId()>0){
BigDecimal orgDispatch = verification.getFinalDispatchAmt();
// TODO 记录日志
}
yardItemService.saveBatch(yardItemList);
if(yarnCenterList.size()>0){
yardCenterItemService.saveBatch(yarnCenterList);
@ -447,25 +450,12 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
if(subjectCenterUpdateList.size()>0){
vtbVerificationSubjectCenterService.updateBatchById(subjectCenterUpdateList);
}
// //重新计算合计
// if(isFinish){
// verificationApplication.finishCallBack(verification, totalAmount);
// if(isRelease){
// log.warn("核销"+verification.getVerificationCode()+"释放金额");
// vtbVerificationService.release(verification.getActivityId(),sysUser.getCode(),false);
// }
// }else {
// //更新金额
// VtbVerification vtbVer = new VtbVerification();
// vtbVer.setId(verification.getId());
// vtbVer.setAmount(totalAmount);
// vtbVerificationService.updateById(vtbVer);
// }
//更新金额
VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId());
vtbVer.setAmount(totalAmount);
vtbVer.setFinalDispatchAmt(totalDispatchAmount);
vtbVerificationService.updateById(vtbVer);
}
}

6
cms-modules/cms-system/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java

@ -100,9 +100,9 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
public void submit(VtbVerificationBatchBo submitBo) {
String templateCode = TbsSeeYonConst.BatchCostCheckConf.Code();
TbsCostApply costApply = tbsCostApplyService.getById(submitBo.getCostApplyId());
if(costApply.getContractFlag().equals(3)){
Assert.throwEx("返利政策的费用不支持批量核销");
}
// if(costApply.getContractFlag().equals(3)){
// Assert.throwEx("返利政策的费用不支持批量核销");
// }
BmsSupplier supplier = bmsSupplierService.getById(costApply.getSupplierId());
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(costApply.getId());
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());

Loading…
Cancel
Save