Browse Source

修改专项预提凭证计算逻辑

master
fanzongzhe0036 5 months ago
parent
commit
70d3174f35
  1. 273
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java

273
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java

@ -448,7 +448,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
* *
* @param sid,tag (0代表核对申请通过推送1代表重推功能) * @param sid,tag (0代表核对申请通过推送1代表重推功能)
*/ */
public void pushSpecialRebateWithVoucher(String sid, String tag, Map<String,Integer> mapCheckState) { public void pushSpecialRebateWithVoucher(String sid, String tag, Map<String, Integer> mapCheckState) {
String format = scmVehRebateWithApplyService.returnBusDate(new Date()); String format = scmVehRebateWithApplyService.returnBusDate(new Date());
String summaryTag = "";//摘要前缀 String summaryTag = "";//摘要前缀
ScmSpecialrebateCheckapply entity = fetchBySid(sid); ScmSpecialrebateCheckapply entity = fetchBySid(sid);
@ -480,6 +480,78 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
if (!v.isEmpty()) { if (!v.isEmpty()) {
for (ScmSpecialRebate rebate : v) { for (ScmSpecialRebate rebate : v) {
BigDecimal yt = BigDecimal.ZERO;//预提
BigDecimal ytfl = BigDecimal.ZERO;//其中返利
BigDecimal ytqzzz = BigDecimal.ZERO;//其中支出费用
BigDecimal ytqzdzz = BigDecimal.ZERO;//其中待支付
BigDecimal ytqzdd = BigDecimal.ZERO;//其中抵顶费用
BigDecimal ysc = BigDecimal.ZERO;//一次上传
BigDecimal yfl = BigDecimal.ZERO;//一次返利
BigDecimal yzz = BigDecimal.ZERO;//一次支出费用
BigDecimal ydzf = BigDecimal.ZERO;//一次待支付
BigDecimal ydd = BigDecimal.ZERO;//一次抵顶
BigDecimal ydqd = BigDecimal.ZERO;//一次待确定
BigDecimal esc = BigDecimal.ZERO;//二次上传
BigDecimal efpfl = BigDecimal.ZERO;//二次分配返利
BigDecimal edfpfl = BigDecimal.ZERO;//二次待分配返利
BigDecimal efpzc = BigDecimal.ZERO;//二次分配支出
BigDecimal edfpzc = BigDecimal.ZERO;//二次待分配支出
BigDecimal efpdzf = BigDecimal.ZERO;//二次分配待支付
BigDecimal edfpdzf = BigDecimal.ZERO;//二次待分配待支付
BigDecimal efpdd = BigDecimal.ZERO;//二次分配抵顶
BigDecimal edfpdd = BigDecimal.ZERO;//二次待分配抵顶
if (StringUtils.isNotBlank(rebate.getEstimateRebate())) {
yt = new BigDecimal(rebate.getEstimateRebate());
}
if (null != rebate.getExpectItureCost()) {
ytqzzz = rebate.getExpectItureCost();
}
if (null != rebate.getExpectTreatCost()) {
ytqzdzz = rebate.getExpectTreatCost();
}
if (null != rebate.getExpectSuppCost()) {
ytqzdd = rebate.getExpectSuppCost();
}
ytfl = yt.subtract(ytqzzz).subtract(ytqzdzz).subtract(ytqzdd);
if (StringUtils.isNotBlank(rebate.getUploadMoney())) {
ysc = new BigDecimal(rebate.getUploadMoney());
}
if (null != rebate.getOnceItureCost()) {
yzz = rebate.getOnceItureCost();
}
if (null != rebate.getOnceTreatCost()) {
ydzf = rebate.getOnceTreatCost();
}
if (null != rebate.getOnceSuppCost()) {
ydd = rebate.getOnceTreatCost();
}
if (StringUtils.isNotBlank(rebate.getStayDetermineMoneyNew())) {
ydqd = new BigDecimal(rebate.getStayDetermineMoneyNew());
}
yfl = ysc.subtract(yzz).subtract(ydzf).subtract(ydd).subtract(ydqd);
if (StringUtils.isNotBlank(rebate.getSecondaryUploadMoney())) {
esc = new BigDecimal(rebate.getSecondaryUploadMoney());
}
if (null != rebate.getSecondItureCost()) {
efpzc = rebate.getOnceItureCost();
}
if (null != rebate.getTempItureCost()) {
edfpzc = rebate.getTempItureCost();
}
if (null != rebate.getSecondTreatCost()) {
efpdzf = rebate.getSecondTreatCost();
}
if (null != rebate.getTempItureCost()) {
edfpdzf = rebate.getTempItureCost();
}
if (null != rebate.getSecondSuppCost()) {
efpdd = rebate.getSecondSuppCost();
}
if (null != rebate.getTempSuppCost()) {
edfpdd = rebate.getTempSuppCost();
}
efpfl = esc.subtract(efpzc).subtract(efpdzf).subtract(efpdd);
edfpfl = ydqd.subtract(edfpzc).subtract(edfpdzf).subtract(edfpdd);
Integer onceState = 0; Integer onceState = 0;
if (tag.equals("0") && mapCheckState.size() > 0) { if (tag.equals("0") && mapCheckState.size() > 0) {
onceState = mapCheckState.get(rebate.getSid()); onceState = mapCheckState.get(rebate.getSid());
@ -514,39 +586,25 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
if (!rebate.getRebateTypeValue().equals("行销政策")) { if (!rebate.getRebateTypeValue().equals("行销政策")) {
if (onceState.intValue() == 2 || tag.equals("1")) { if (onceState.intValue() == 2 || tag.equals("1")) {
//没有进行过核对申请 //没有进行过核对申请
BigDecimal oneMoney = BigDecimal.ZERO;//一次上传金额 if (ysc.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal yicifanli = BigDecimal.ZERO;//一次应收返利返利 GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
BigDecimal yicididing = BigDecimal.ZERO;//一次抵顶费用 voucherDetail.setType("非行销");
BigDecimal yizhichufeiyong = BigDecimal.ZERO;//一次支出费用 voucherDetail.setTimeFlag(finalSummaryTag);
BigDecimal feiyong = BigDecimal.ZERO;//一次合计费用 voucherDetail.setSceneCode("1161.01.16");
if (StringUtils.isNotBlank(rebate.getUploadMoney())) { voucherDetail.setDeptCode(deptCode); //部门编码赋值
oneMoney = new BigDecimal(rebate.getUploadMoney()); voucherDetail.setManufacturer(gysCode);
if (oneMoney.compareTo(BigDecimal.ZERO) != 0) { voucherDetail.setAmount(ysc);
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); voucherDetail.setRemarks("返利上传");
voucherDetail.setType("非行销"); voucherDetails.add(voucherDetail);
voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setSceneCode("1161.01.16");
voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(oneMoney);
voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail);
}
}
if (null != rebate.getOnceItureCost()) {
yizhichufeiyong = rebate.getOnceItureCost();
}
if (null != rebate.getOnceSuppCost()) {
yicididing = rebate.getOnceSuppCost();
} }
yicifanli = oneMoney.subtract(yicididing).subtract(yizhichufeiyong); BigDecimal ysfl = yfl.add(ydzf).add(ydqd);
if (yicifanli.compareTo(BigDecimal.ZERO) != 0) { if (ysfl.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("非行销"); voucherDetail.setType("非行销");
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setDeptCode(deptCode); //部门编码赋值 voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(yicifanli); voucherDetail.setAmount(ysfl);
String palceGenDate = rebate.getPalceGenDate(); String palceGenDate = rebate.getPalceGenDate();
String[] palceGenDateSplit = palceGenDate.split("-"); String[] palceGenDateSplit = palceGenDate.split("-");
String y2 = palceGenDateSplit[0];//所属年份 String y2 = palceGenDateSplit[0];//所属年份
@ -558,7 +616,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
feiyong = yizhichufeiyong.add(yicididing); BigDecimal feiyong = yzz.add(ydd);
if (feiyong.compareTo(BigDecimal.ZERO) != 0) { if (feiyong.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -571,32 +629,18 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
} }
BigDecimal twoMoney = BigDecimal.ZERO;//二次次上传金额 if (esc.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal ercifanli = BigDecimal.ZERO;//二次应收返利返利 GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
BigDecimal ercididing = BigDecimal.ZERO;//二次抵顶费用 voucherDetail.setType("非行销");
BigDecimal erzhichufeiyong = BigDecimal.ZERO;//一次支出费用 voucherDetail.setTimeFlag(finalSummaryTag);
BigDecimal erfeiyong = BigDecimal.ZERO;//二次合计费用 voucherDetail.setSceneCode("1161.01.16");
if (StringUtils.isNotBlank(rebate.getSecondaryUploadMoney())) { voucherDetail.setDeptCode(deptCode); //部门编码赋值
twoMoney = new BigDecimal(rebate.getSecondaryUploadMoney()); voucherDetail.setManufacturer(gysCode);
if (twoMoney.compareTo(BigDecimal.ZERO) != 0) { voucherDetail.setAmount(esc);
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); voucherDetail.setRemarks("返利上传");
voucherDetail.setType("非行销"); voucherDetails.add(voucherDetail);
voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setSceneCode("1161.01.16");
voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(twoMoney);
voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail);
}
}
if (null != rebate.getSecondItureCost()) {
erzhichufeiyong = rebate.getSecondItureCost();
}
if (null != rebate.getSecondSuppCost()) {
ercididing = rebate.getSecondSuppCost();
} }
ercifanli = twoMoney.subtract(ercididing).subtract(erzhichufeiyong); BigDecimal ercifanli = efpfl.add(efpdzf).subtract(edfpzc).subtract(edfpdd);
if (ercifanli.compareTo(BigDecimal.ZERO) != 0) { if (ercifanli.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -615,8 +659,8 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
erfeiyong = erzhichufeiyong.add(ercididing); BigDecimal erfeiyong = efpzc.add(edfpzc).add(efpdd).add(edfpdd);
if (ercididing.compareTo(BigDecimal.ZERO) != 0) { if (erfeiyong.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("非行销"); voucherDetail.setType("非行销");
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -630,29 +674,16 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
//确认调整时 //确认调整时
if (StringUtils.isNotBlank(rebate.getIsAdjustment())) { if (StringUtils.isNotBlank(rebate.getIsAdjustment())) {
if (rebate.getIsAdjustment().equals("是")) { if (rebate.getIsAdjustment().equals("是")) {
BigDecimal adMoney = BigDecimal.ZERO;//返利差额 BigDecimal flce = yfl.add(efpfl).add(edfpfl).subtract(ytfl);
BigDecimal daizhifuchaMoney = BigDecimal.ZERO;//待支付差额 BigDecimal dzfce = efpdzf.add(edfpdzf).add(ydzf).subtract(ytqzdzz);
BigDecimal yingshouMoney = BigDecimal.ZERO;//应收返利 BigDecimal ysMoney = flce.add(dzfce);
if (StringUtils.isNotBlank(rebate.getAdjustmentMoney())) { if (ysMoney.compareTo(BigDecimal.ZERO) != 0) {
adMoney = new BigDecimal(rebate.getAdjustmentMoney());
}
if (null != rebate.getOnceTreatCost()) {
daizhifuchaMoney = daizhifuchaMoney.add(rebate.getOnceTreatCost());
}
if (null != rebate.getSecondTreatCost()) {
daizhifuchaMoney = daizhifuchaMoney.add(rebate.getSecondTreatCost());
}
if (null != rebate.getExpectTreatCost()) {
daizhifuchaMoney = daizhifuchaMoney.subtract(rebate.getExpectTreatCost());
}
yingshouMoney = adMoney.add(daizhifuchaMoney);
if (yingshouMoney.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail1.setType("非行销"); voucherDetail1.setType("非行销");
voucherDetail1.setTimeFlag(finalSummaryTag); voucherDetail1.setTimeFlag(finalSummaryTag);
voucherDetail1.setDeptCode(deptCode); //部门编码赋值 voucherDetail1.setDeptCode(deptCode); //部门编码赋值
voucherDetail1.setManufacturer(gysCode); voucherDetail1.setManufacturer(gysCode);
voucherDetail1.setAmount(yingshouMoney); voucherDetail1.setAmount(ysMoney);
String palceGenDate = rebate.getPalceGenDate(); String palceGenDate = rebate.getPalceGenDate();
String[] palceGenDateSplit = palceGenDate.split("-"); String[] palceGenDateSplit = palceGenDate.split("-");
String y2 = palceGenDateSplit[0];//所属年份 String y2 = palceGenDateSplit[0];//所属年份
@ -664,22 +695,22 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail1.setRemarks("返利调整"); voucherDetail1.setRemarks("返利调整");
voucherDetails.add(voucherDetail1); voucherDetails.add(voucherDetail1);
} }
if (adMoney.compareTo(BigDecimal.ZERO) != 0) { if (flce.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail1.setType("非行销"); voucherDetail1.setType("非行销");
voucherDetail1.setTimeFlag(finalSummaryTag); voucherDetail1.setTimeFlag(finalSummaryTag);
voucherDetail1.setDeptCode(deptCode); //部门编码赋值 voucherDetail1.setDeptCode(deptCode); //部门编码赋值
voucherDetail1.setAmount(adMoney); voucherDetail1.setAmount(flce);
voucherDetail1.setSceneCode("6401.13"); voucherDetail1.setSceneCode("6401.13");
voucherDetail1.setRemarks("返利调整"); voucherDetail1.setRemarks("返利调整");
voucherDetails.add(voucherDetail1); voucherDetails.add(voucherDetail1);
} }
if (daizhifuchaMoney.compareTo(BigDecimal.ZERO) != 0) { if (dzfce.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail2 = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail2 = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail2.setTimeFlag(finalSummaryTag); voucherDetail2.setTimeFlag(finalSummaryTag);
voucherDetail2.setType("非行销"); voucherDetail2.setType("非行销");
voucherDetail2.setCustomerCode("DZFCJFL"); //客户编码 voucherDetail2.setCustomerCode("DZFCJFL"); //客户编码
voucherDetail2.setAmount(daizhifuchaMoney); voucherDetail2.setAmount(dzfce);
voucherDetail2.setSceneCode("2181.07.00"); voucherDetail2.setSceneCode("2181.07.00");
voucherDetail2.setRemarks("返利调整"); voucherDetail2.setRemarks("返利调整");
voucherDetails.add(voucherDetail2); voucherDetails.add(voucherDetail2);
@ -689,69 +720,51 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
} else { } else {
if (onceState.intValue() == 2 || tag.equals("1")) { if (onceState.intValue() == 2 || tag.equals("1")) {
//没有进行过核对申请 //没有进行过核对申请
BigDecimal oneMoney = BigDecimal.ZERO;//一次上传金额 if (ysc.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal yicidaizhifu = BigDecimal.ZERO;//一次待支付金额
BigDecimal yicididing = BigDecimal.ZERO;//一次抵顶费用
BigDecimal yizhichufeiyong = BigDecimal.ZERO;//一次支出费用
BigDecimal feiyong = BigDecimal.ZERO;//一次合计费用
if (StringUtils.isNotBlank(rebate.getUploadMoney())) {
oneMoney = new BigDecimal(rebate.getUploadMoney());
}
if (null != rebate.getOnceItureCost()) {
yizhichufeiyong = rebate.getOnceItureCost();
}
if (null != rebate.getOnceSuppCost()) {
yicididing = rebate.getOnceSuppCost();
}
if (null != rebate.getOnceTreatCost()) {
yicidaizhifu = rebate.getOnceTreatCost();
}
feiyong = oneMoney.subtract(yicidaizhifu).subtract(yizhichufeiyong).subtract(yicididing);
if (oneMoney.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setSceneCode("1161.01.16"); voucherDetail.setSceneCode("1161.01.16");
voucherDetail.setDeptCode(deptCode); //部门编码赋值 voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(oneMoney); voucherDetail.setAmount(ysc);
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
if (yicidaizhifu.compareTo(BigDecimal.ZERO) != 0) { if (ydzf.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setCustomerCode("DZFCJFL"); voucherDetail.setCustomerCode("DZFCJFL");
voucherDetail.setSceneCode("2181.07.00"); voucherDetail.setSceneCode("2181.07.00");
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(yicidaizhifu); voucherDetail.setAmount(ydzf);
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
if (yizhichufeiyong.compareTo(BigDecimal.ZERO) != 0) { if (yzz.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
voucherDetail.setDeptCode(deptCode); //部门编码赋值 voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(yizhichufeiyong); voucherDetail.setAmount(yzz);
voucherDetail.setSceneCode("1161.03.00"); voucherDetail.setSceneCode("1161.03.00");
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
if (yicididing.compareTo(BigDecimal.ZERO) != 0) { if (ydd.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
voucherDetail.setDeptCode(deptCode); //部门编码赋值 voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(yicididing); voucherDetail.setAmount(ydd);
voucherDetail.setSceneCode("1161.04.00"); voucherDetail.setSceneCode("1161.04.00");
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
BigDecimal feiyong = yzz.add(ydzf).add(ydd).subtract(ysc);
if (feiyong.compareTo(BigDecimal.ZERO) != 0) { if (feiyong.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -763,35 +776,18 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
} }
BigDecimal twoMoney = BigDecimal.ZERO;//二次上传金额 if (esc.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal ercidaizhifu = BigDecimal.ZERO;//二次待支付金额
BigDecimal ercididing = BigDecimal.ZERO;//二次抵顶费用
BigDecimal erzhichufeiyong = BigDecimal.ZERO;//二次支出费用
BigDecimal erfeiyong = BigDecimal.ZERO;//二次合计费用
if (StringUtils.isNotBlank(rebate.getSecondaryUploadMoney())) {
twoMoney = new BigDecimal(rebate.getSecondaryUploadMoney());
}
if (null != rebate.getSecondItureCost()) {
erzhichufeiyong = rebate.getSecondItureCost();
}
if (null != rebate.getSecondSuppCost()) {
ercididing = rebate.getSecondSuppCost();
}
if (null != rebate.getSecondTreatCost()) {
ercidaizhifu = rebate.getSecondTreatCost();
}
erfeiyong = twoMoney.subtract(ercidaizhifu).subtract(erzhichufeiyong).subtract(ercididing);
if (twoMoney.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setSceneCode("1161.01.16"); voucherDetail.setSceneCode("1161.01.16");
voucherDetail.setDeptCode(deptCode); //部门编码赋值 voucherDetail.setDeptCode(deptCode); //部门编码赋值
voucherDetail.setManufacturer(gysCode); voucherDetail.setManufacturer(gysCode);
voucherDetail.setAmount(twoMoney); voucherDetail.setAmount(esc);
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
BigDecimal ercidaizhifu = efpdzf.add(edfpdzf);
if (ercidaizhifu.compareTo(BigDecimal.ZERO) != 0) { if (ercidaizhifu.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setType("行销政策"); voucherDetail.setType("行销政策");
@ -803,6 +799,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
BigDecimal erzhichufeiyong = efpzc.add(edfpzc);
if (erzhichufeiyong.compareTo(BigDecimal.ZERO) != 0) { if (erzhichufeiyong.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -814,6 +811,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
BigDecimal ercididing = efpdd.add(edfpdd);
if (ercididing.compareTo(BigDecimal.ZERO) != 0) { if (ercididing.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -825,6 +823,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
voucherDetail.setRemarks("返利上传"); voucherDetail.setRemarks("返利上传");
voucherDetails.add(voucherDetail); voucherDetails.add(voucherDetail);
} }
BigDecimal erfeiyong = efpzc.add(edfpzc).add(efpdzf).add(edfpdzf).add(efpdd).add(edfpdd).subtract(esc);
if (erfeiyong.compareTo(BigDecimal.ZERO) != 0) { if (erfeiyong.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag); voucherDetail.setTimeFlag(finalSummaryTag);
@ -838,16 +837,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
//确认调整时 //确认调整时
if (StringUtils.isNotBlank(rebate.getIsAdjustment())) { if (StringUtils.isNotBlank(rebate.getIsAdjustment())) {
if (rebate.getIsAdjustment().equals("是")) { if (rebate.getIsAdjustment().equals("是")) {
BigDecimal daizhifuchaMoney = BigDecimal.ZERO;//待支付差额 BigDecimal daizhifuchaMoney = efpzc.add(edfpzc).add(yzz).subtract(ytqzzz);
if (null != rebate.getOnceItureCost()) {
daizhifuchaMoney = daizhifuchaMoney.add(rebate.getOnceItureCost());
}
if (null != rebate.getSecondItureCost()) {
daizhifuchaMoney = daizhifuchaMoney.add(rebate.getSecondItureCost());
}
if (null != rebate.getExpectItureCost()) {
daizhifuchaMoney = daizhifuchaMoney.subtract(rebate.getExpectItureCost());
}
if (daizhifuchaMoney.compareTo(BigDecimal.ZERO) != 0) { if (daizhifuchaMoney.compareTo(BigDecimal.ZERO) != 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail1.setTimeFlag(finalSummaryTag); voucherDetail1.setTimeFlag(finalSummaryTag);
@ -885,7 +875,6 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
} }
public ResultBean complete(BusinessVariables bv) { public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(bv.getBusinessSid()); ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(bv.getBusinessSid());
@ -906,10 +895,10 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
List<ScmSpecialrebateCheckapplydetailVo> scmSpecialrebateCheckapplydetailVos = scmSpecialrebateCheckapplydetailService.selByMainSid(bv.getBusinessSid()); List<ScmSpecialrebateCheckapplydetailVo> scmSpecialrebateCheckapplydetailVos = scmSpecialrebateCheckapplydetailService.selByMainSid(bv.getBusinessSid());
Map<String,Integer> mapCheckState = new HashMap<>(); Map<String, Integer> mapCheckState = new HashMap<>();
for (ScmSpecialrebateCheckapplydetailVo scmSpecialrebateCheckapplydetailVo : scmSpecialrebateCheckapplydetailVos) { for (ScmSpecialrebateCheckapplydetailVo scmSpecialrebateCheckapplydetailVo : scmSpecialrebateCheckapplydetailVos) {
ScmSpecialRebate scmSpecialRebate = scmSpecialRebateService.fetchBySid(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid()); ScmSpecialRebate scmSpecialRebate = scmSpecialRebateService.fetchBySid(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid());
mapCheckState.put(scmSpecialRebate.getSid(),scmSpecialRebate.getOnceCheckState()); mapCheckState.put(scmSpecialRebate.getSid(), scmSpecialRebate.getOnceCheckState());
if ("是".equals(scmSpecialRebate.getIsAdjustment())) { if ("是".equals(scmSpecialRebate.getIsAdjustment())) {
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 4); scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 4);
scmSpecialRebateService.updateAdjustmentState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 1); scmSpecialRebateService.updateAdjustmentState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 1);
@ -919,7 +908,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
scmSpecialRebateService.updateOnceCheckState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 1); scmSpecialRebateService.updateOnceCheckState(scmSpecialrebateCheckapplydetailVo.getSpecialRebateSid(), 1);
} }
pushSpecialRebateWithVoucher(bv.getBusinessSid(),"0",mapCheckState); pushSpecialRebateWithVoucher(bv.getBusinessSid(), "0", mapCheckState);
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
@ -1107,7 +1096,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmWhenSpecialrebateCheckapplydetailDetails = scmSpecialrebateCheckapplyDetailsVo.getScmWhenSpecialrebateCheckapplydetailDetails(); List<ScmSpecialrebateCheckapplydetailDetailsVo> scmWhenSpecialrebateCheckapplydetailDetails = scmSpecialrebateCheckapplyDetailsVo.getScmWhenSpecialrebateCheckapplydetailDetails();
Map<String, Object> dataMap = new HashMap<String, Object>(); Map<String, Object> dataMap = new HashMap<String, Object>();
//标题 //标题
dataMap.put("title",scmSpecialrebateCheckapplyDetailsVo.getCheckApply() + "专项返利核对审批"); dataMap.put("title", scmSpecialrebateCheckapplyDetailsVo.getCheckApply() + "专项返利核对审批");
//分公司 //分公司
dataMap.put("useOrgName", scmSpecialrebateCheckapplyDetailsVo.getCreateOrgName()); dataMap.put("useOrgName", scmSpecialrebateCheckapplyDetailsVo.getCreateOrgName());
//创建部门 //创建部门
@ -1231,11 +1220,11 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe
List<AppSpecialrebateCheckapplydetailDetailsVo> when = scmSpecialrebateCheckapplydetailService.fetchByMainSid(sid); List<AppSpecialrebateCheckapplydetailDetailsVo> when = scmSpecialrebateCheckapplydetailService.fetchByMainSid(sid);
List<AppSpecialrebateCheckapplydetailDetailsVo> last = scmSpecialrebateCheckapplydetailService.fetchByMainSid(sid); List<AppSpecialrebateCheckapplydetailDetailsVo> last = scmSpecialrebateCheckapplydetailService.fetchByMainSid(sid);
for (AppSpecialrebateCheckapplydetailDetailsVo appSpecialrebateCheckapplydetailDetailsVo : when) { for (AppSpecialrebateCheckapplydetailDetailsVo appSpecialrebateCheckapplydetailDetailsVo : when) {
List<AppSpecialrebateCheckapplydetailDetailssVo> type = scmSpecialrebateCheckapplydetailService.fetchByMainSidType(sid,appSpecialrebateCheckapplydetailDetailsVo.getPurchaseSystemName(),appSpecialrebateCheckapplydetailDetailsVo.getBrandName()); List<AppSpecialrebateCheckapplydetailDetailssVo> type = scmSpecialrebateCheckapplydetailService.fetchByMainSidType(sid, appSpecialrebateCheckapplydetailDetailsVo.getPurchaseSystemName(), appSpecialrebateCheckapplydetailDetailsVo.getBrandName());
appSpecialrebateCheckapplydetailDetailsVo.setDetails(type); appSpecialrebateCheckapplydetailDetailsVo.setDetails(type);
} }
for (AppSpecialrebateCheckapplydetailDetailsVo appSpecialrebateCheckapplydetailDetailsVo : last) { for (AppSpecialrebateCheckapplydetailDetailsVo appSpecialrebateCheckapplydetailDetailsVo : last) {
List<AppSpecialrebateCheckapplydetailDetailssVo> date = scmSpecialrebateCheckapplydetailService.fetchByMainSidDate(sid,appSpecialrebateCheckapplydetailDetailsVo.getPurchaseSystemName(),appSpecialrebateCheckapplydetailDetailsVo.getBrandName()); List<AppSpecialrebateCheckapplydetailDetailssVo> date = scmSpecialrebateCheckapplydetailService.fetchByMainSidDate(sid, appSpecialrebateCheckapplydetailDetailsVo.getPurchaseSystemName(), appSpecialrebateCheckapplydetailDetailsVo.getBrandName());
appSpecialrebateCheckapplydetailDetailsVo.setDetails(date); appSpecialrebateCheckapplydetailDetailsVo.setDetails(date);
} }
appSpecialrebateCheckapplyDetailsVo.setScmWhenSpecialrebateCheckapplydetailDetails(when); appSpecialrebateCheckapplyDetailsVo.setScmWhenSpecialrebateCheckapplydetailDetails(when);

Loading…
Cancel
Save