Browse Source

修改金融贴息返利凭证

master
fanzongzhe0036 4 months ago
parent
commit
844eb19c03
  1. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  2. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  3. 37
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  4. 18
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java
  5. 65
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -78,6 +78,12 @@ public interface FinKingDeeFeign {
@ResponseBody
ResultBean<String> saveRebatePrepareVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存金融贴息单车返利预提凭证")
@PostMapping("/saveJRRebatePrepareVoucher")
@ResponseBody
ResultBean<String> saveJRRebatePrepareVoucher(@RequestBody @Valid GeneralVoucher voucher);
@ApiOperation("保存单车返利核对凭证")
@PostMapping("/saveRebateReviewVoucher")
@ResponseBody

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -54,6 +54,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> saveJRRebatePrepareVoucher(@Valid GeneralVoucher voucher) {
return null;
}
@Override
public ResultBean<String> saveRebateReviewVoucher(@Valid GeneralVoucher voucher) {
return null;

37
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -275,6 +275,43 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return voucherService.saveVoucher(newVoucher);
}
@Override
public ResultBean<String> saveJRRebatePrepareVoucher(@Valid GeneralVoucher voucher) {
ResultBean rb = ResultBean.fireFail();
Voucher newVoucher = new Voucher();
List<Voucher.VoucherResultDetailDto> resultDetails = new ArrayList<>();
if (StringUtils.isNotBlank(voucher.getUseOrgCode())) {
newVoucher.setAccountBook(voucher.getUseOrgCode());
newVoucher.setVoucherNo(voucher.getUseOrgCode());
}
if (StringUtils.isNotBlank(voucher.getBussDate())) {
newVoucher.setBussDate(voucher.getBussDate());
}
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = voucher.getVoucherDetails();
if (!voucherDetails.isEmpty()) {
for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) {
//todo 摘要、贷方维度未确定
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto1.setSummary(voucherDetail.getTimeFlag() + "金融贴息预提预留费用");
dto2.setSummary(voucherDetail.getTimeFlag() + "金融贴息预提预留费用");
dto1.setSubjectNo("1161.01.19");
dto2.setSubjectNo("2181.07.00");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setManufacturer(voucherDetail.getManufacturer());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setMaterial(voucherDetail.getMaterial());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
resultDetails.add(dto2);
}
newVoucher.setResultDetails(resultDetails);
}
log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher));
return voucherService.saveVoucher(newVoucher);
}
@Override
public ResultBean<String> saveRebateReviewVoucher(@Valid GeneralVoucher voucher) {
ResultBean rb = ResultBean.fireFail();

18
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java

@ -771,6 +771,24 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
}
}
//确认调整时
if (StringUtils.isNotBlank(rebate.getIsAdjustment())) {
if (rebate.getIsAdjustment().equals("是")) {
if (StringUtils.isNotBlank(rebate.getAdjustmentMoney())) {
BigDecimal adMoney = new BigDecimal(rebate.getAdjustmentMoney());
if (adMoney.compareTo(BigDecimal.ZERO) >= 0) {
CostAdjustmentsBill.CostAdjustmentsBillDetailDto dto = new CostAdjustmentsBill.CostAdjustmentsBillDetailDto();
dto.setCompanyCode(useOrgCode);
dto.setMaterialID(vinCode);
dto.setDeptCode(deptCode);
dto.setAmount(adMoney.negate().toString());
resultDetails.add(dto);
}
}
}
}
}
}

65
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

@ -33,6 +33,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusOrderAndVehInfo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
@ -114,6 +119,12 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private BusDeliveredApplyFeign busDeliveredApplyFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
private QueryWrapper<ScmVehRebateWithApply> createQueryWrapper(ScmVehRebateWithApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -447,6 +458,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
GeneralVoucher generalVoucher = new GeneralVoucher();
generalVoucher.setBussDate(format);
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
List<GeneralVoucher.GeneralVoucherDetail> voucherDetailsJR = new ArrayList<>();
CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill();
costAdjustmentsBill.setBussDate(format);
List<CostAdjustmentsBill.CostAdjustmentsBillDetailDto> resultDetails = new ArrayList<>();
@ -508,12 +520,65 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
}
}
} else {
String salesDeptCode = ""; //销售部门编码
String customerCode = ""; //出库单客户编码
String vinCodeJR = ""; //物料
String gysCode = ""; //供应商
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(rebate.getPurchaseSystemSid()).getData();
if (null != data) {
deptCode = data.getOrgCode();
}
BaseVehicle vehicle = baseVehicleFeign.fetchBySid(rebate.getVehSid()).getData();
if (null != vehicle) {
if (StringUtils.isNotBlank(vehicle.getManufacturerCode())) {
gysCode = vehicle.getManufacturerCode();
costAdjustmentsBill.setCommUnit(vehicle.getManufacturerCode());
}
vinCode = vehicle.getVinNo().substring(vehicle.getVinNo().length() - 8);
}
BusOrderAndVehInfo vehInfo = busSalesOrderVehicleFeign.selVehOrderInfoByVinNo(vinCode).getData();
if (null != vehInfo) {
String deptSid = vehInfo.getDeptSid();
SysOrganizationVo salesData = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != salesData) {
salesDeptCode = salesData.getOrgCode();
}
String busVinSid = vehInfo.getBusVinSid();
String customerSid = busDeliveredApplyFeign.selCustomerByBusVinSid(busVinSid).getData();
if (StringUtils.isNotBlank(customerSid)) {
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(customerSid).getData();
if (null != customerTemp) {
customerCode = customerTemp.getCustomerNo();
}
}
}
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setTimeFlag(finalSummaryTag);
voucherDetail.setMaterial(vinCodeJR);
voucherDetail.setManufacturer(gysCode);
voucherDetail.setCustomerCode(customerCode);
voucherDetail.setDeptCode(salesDeptCode);
if (StringUtils.isNotBlank(rebate.getEstimateRebate())) {
BigDecimal esRebate = new BigDecimal(rebate.getEstimateRebate());
if (esRebate.compareTo(BigDecimal.ZERO) != 0) {
voucherDetail.setAmount(esRebate);
voucherDetails.add(voucherDetail);
}
}
}
}
if (!voucherDetails.isEmpty()) {
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveRebatePrepareVoucher(generalVoucher);
}
if (!voucherDetailsJR.isEmpty()) {
generalVoucher.setVoucherDetails(voucherDetailsJR);
finKingDeeFeign.saveJRRebatePrepareVoucher(generalVoucher);
}
if (!resultDetails.isEmpty()) {
costAdjustmentsBill.setResultDetails(resultDetails);
finKingDeeFeign.pushCostAdjustmentsBill(costAdjustmentsBill);

Loading…
Cancel
Save