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())){ if(!userId.equals(omsOrder.getCreateBy())){
Assert.throwEx("越权访问被拦截了"); Assert.throwEx("越权访问被拦截了");
} }
if (!omsOrder.getUserId().equals(userId)) { // if (!omsOrder.getUserId().equals(userId)) {
Assert.throwEx("非制单人无法下单"); // Assert.throwEx("非制单人无法下单");
} // }
// 非临期品不走当前流程 // 非临期品不走当前流程
if(!omsOrder.getOrderType().equals(3)){ if(!omsOrder.getOrderType().equals(3)){
Assert.throwEx("该功能只针对临期品订单"); 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)); order.setOrderSn(orderPrefix + CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder));
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId());
order.setOrderSource("CMS"); order.setOrderSource("COPY");
order.setCurrency("人民币"); order.setCurrency("人民币");
order.setExchangeRate(1); order.setExchangeRate(1);
order.setVersion("cms"); order.setVersion("cms");
@ -100,6 +100,7 @@ public class OmsSaleOrderPart1ServiceImpl implements OmsSaleOrderPart1Service {
order.setUserName(user.getName()); order.setUserName(user.getName());
order.setUserPhone(user.getMobile()); order.setUserPhone(user.getMobile());
order.setCheckState(0); order.setCheckState(0);
order.setOrderErpId(null);
order.setStatus(0); order.setStatus(0);
order.setOrderStatusCombo(0); order.setOrderStatusCombo(0);
order.setPreDeliveryDate(null); 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 Integer countPerson;
/**
* 审批的发货金额返利类型的审批传参
*/
private BigDecimal finalDispatchAmount;
private List<AffairSubjectCenterItemLine> centerItemLines; 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 isStop = "backed".equals(flag)||"refuse".equals(flag);
//释放费用 //释放费用
boolean isRelease = itemCommit.getReleaseFlag()!=null&&itemCommit.getReleaseFlag().equals(1); 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){ if (!isFinish && !isNext){
log.error("远程调用返回,非指定状态:{}",JsonUtil.objectToJson(commitParam)); log.error("远程调用返回,非指定状态:{}",JsonUtil.objectToJson(commitParam));
continue; continue;
@ -313,10 +305,9 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
yardService.save(yard); yardService.save(yard);
//非终止或者驳回,保存审批线金额明细 //非终止或者驳回,保存审批线金额明细
BigDecimal totalAmount = BigDecimal.ZERO; BigDecimal totalAmount = BigDecimal.ZERO;
BigDecimal totalDispatchAmount = BigDecimal.ZERO;
if(!isStop){ if(!isStop){
List<VtbVerificationSubjectCenter> subjectCenters = vtbVerificationSubjectCenterService.listByVerificationId(verification.getId()); List<VtbVerificationSubjectCenter> subjectCenters = vtbVerificationSubjectCenterService.listByVerificationId(verification.getId());
//isCenterCommit 代表自定义成本中心维度递交
boolean isCenterCommit = subjectCenters.size()>0;
List<VtbVerificationSubject> verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId()); List<VtbVerificationSubject> verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId());
List<VtbVerificationYardItem> yardItemList = new ArrayList<>(); List<VtbVerificationYardItem> yardItemList = new ArrayList<>();
List<VtbVerificationSubject> verSubject4Update = new ArrayList<>(); List<VtbVerificationSubject> verSubject4Update = new ArrayList<>();
@ -325,10 +316,10 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
List<VtbVerificationSubjectCenter> subjectCenterUpdateList = new ArrayList<>(); List<VtbVerificationSubjectCenter> subjectCenterUpdateList = new ArrayList<>();
for (VtbVerificationSubject currVs : verificationSubjects) { for (VtbVerificationSubject currVs : verificationSubjects) {
BigDecimal changeAmount = null; BigDecimal changeAmount = null;
BigDecimal changeDispatch = null;
Integer countSession = null; Integer countSession = null;
Integer countPerson = null; Integer countPerson = null;
List<TbsAffairCommitBo.AffairSubjectCenterItemLine> centerItemLineList = null; List<TbsAffairCommitBo.AffairSubjectCenterItemLine> centerItemLineList = null;
// if(isCenterCommit){
if(CollectionUtil.isNotEmpty(itemCommit.getAffairSubjectCenterLines())){ if(CollectionUtil.isNotEmpty(itemCommit.getAffairSubjectCenterLines())){
for (TbsAffairCommitBo.AffairSubjectCenterLine centerLine : itemCommit.getAffairSubjectCenterLines()) { for (TbsAffairCommitBo.AffairSubjectCenterLine centerLine : itemCommit.getAffairSubjectCenterLines()) {
if(currVs.getSubjectId().equals(centerLine.getSubjectId())){ if(currVs.getSubjectId().equals(centerLine.getSubjectId())){
@ -338,9 +329,13 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
changeAmount = changeAmount.add(itemLine.getAmount()); changeAmount = changeAmount.add(itemLine.getAmount());
} }
} }
if (centerLine.getFinalDispatchAmount()!=null){
totalDispatchAmount = totalDispatchAmount.add(centerLine.getFinalDispatchAmount());
}
centerItemLineList = centerLine.getCenterItemLines(); centerItemLineList = centerLine.getCenterItemLines();
countSession = centerLine.getCountSession(); countSession = centerLine.getCountSession();
countPerson = centerLine.getCountPerson(); countPerson = centerLine.getCountPerson();
changeDispatch = centerLine.getFinalDispatchAmount();
break; break;
} }
} }
@ -403,6 +398,7 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
VtbVerificationSubject verSub4Upd = new VtbVerificationSubject(); VtbVerificationSubject verSub4Upd = new VtbVerificationSubject();
verSub4Upd.setId(currVs.getId()); verSub4Upd.setId(currVs.getId());
verSub4Upd.setUsedAmount(changeAmount); verSub4Upd.setUsedAmount(changeAmount);
verSub4Upd.setFinalDispatchAmt(changeDispatch);
verSubject4Update.add(verSub4Upd); verSubject4Update.add(verSub4Upd);
}else { }else {
yardItem.setCurrAmount(lastAmount); yardItem.setCurrAmount(lastAmount);
@ -439,6 +435,13 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
yardItemList.add(yardItem); yardItemList.add(yardItem);
} }
// 记录修改的发货金额
if (verification.getRebateId()!=null&&verification.getRebateId()>0){
BigDecimal orgDispatch = verification.getFinalDispatchAmt();
// TODO 记录日志
}
yardItemService.saveBatch(yardItemList); yardItemService.saveBatch(yardItemList);
if(yarnCenterList.size()>0){ if(yarnCenterList.size()>0){
yardCenterItemService.saveBatch(yarnCenterList); yardCenterItemService.saveBatch(yarnCenterList);
@ -447,25 +450,12 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification
if(subjectCenterUpdateList.size()>0){ if(subjectCenterUpdateList.size()>0){
vtbVerificationSubjectCenterService.updateBatchById(subjectCenterUpdateList); 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(); VtbVerification vtbVer = new VtbVerification();
vtbVer.setId(verification.getId()); vtbVer.setId(verification.getId());
vtbVer.setAmount(totalAmount); vtbVer.setAmount(totalAmount);
vtbVer.setFinalDispatchAmt(totalDispatchAmount);
vtbVerificationService.updateById(vtbVer); 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) { public void submit(VtbVerificationBatchBo submitBo) {
String templateCode = TbsSeeYonConst.BatchCostCheckConf.Code(); String templateCode = TbsSeeYonConst.BatchCostCheckConf.Code();
TbsCostApply costApply = tbsCostApplyService.getById(submitBo.getCostApplyId()); TbsCostApply costApply = tbsCostApplyService.getById(submitBo.getCostApplyId());
if(costApply.getContractFlag().equals(3)){ // if(costApply.getContractFlag().equals(3)){
Assert.throwEx("返利政策的费用不支持批量核销"); // Assert.throwEx("返利政策的费用不支持批量核销");
} // }
BmsSupplier supplier = bmsSupplierService.getById(costApply.getSupplierId()); BmsSupplier supplier = bmsSupplierService.getById(costApply.getSupplierId());
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(costApply.getId()); List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(costApply.getId());
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());

Loading…
Cancel
Save