Browse Source

款项确认单新增时对金额的算法逻辑

master
God 3 years ago
parent
commit
4b04b8bde5
  1. 37
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscollectionconfirmation/BusCollectionConfirmationService.java

37
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscollectionconfirmation/BusCollectionConfirmationService.java

@ -38,7 +38,10 @@ import com.yxt.anrui.buscenter.api.buscollectionconfirmation.*;
import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailed; import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailed;
import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedDto; import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedDto;
import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedVo; import com.yxt.anrui.buscenter.api.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedVo;
import com.yxt.anrui.buscenter.api.busuncollectedreceivablesdetailed.BusUncollectedReceivablesDetailedDto;
import com.yxt.anrui.buscenter.api.busuncollectedreceivablesdetailed.BusUncollectedReceivablesDetailedVo;
import com.yxt.anrui.buscenter.biz.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedService; import com.yxt.anrui.buscenter.biz.busselectedreceivablesdetailed.BusSelectedReceivablesDetailedService;
import com.yxt.anrui.buscenter.biz.busuncollectedreceivablesdetailed.BusUncollectedReceivablesDetailedService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
@ -53,6 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -74,6 +78,8 @@ public class BusCollectionConfirmationService extends MybatisBaseService<BusColl
@Autowired @Autowired
private BusSelectedReceivablesDetailedService busSelectedReceivablesDetailedService; private BusSelectedReceivablesDetailedService busSelectedReceivablesDetailedService;
@Autowired @Autowired
private BusUncollectedReceivablesDetailedService busUncollectedReceivablesDetailedService;
@Autowired
private CommonAppendixFeign commonAppendixFeign; private CommonAppendixFeign commonAppendixFeign;
@Autowired @Autowired
private FileUploadComponent fileUploadComponent; private FileUploadComponent fileUploadComponent;
@ -153,13 +159,42 @@ public class BusCollectionConfirmationService extends MybatisBaseService<BusColl
remFilePath += remFilePath + ","; remFilePath += remFilePath + ",";
} }
busCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath.substring(0, remFilePath.length() - 1)); busCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath.substring(0, remFilePath.length() - 1));
save(busCollectionConfirmation);
for (BusSelectedReceivablesDetailedDto busSelectedReceivablesDetailedDto : busSelectedReceivablesDetailedDtos) { for (BusSelectedReceivablesDetailedDto busSelectedReceivablesDetailedDto : busSelectedReceivablesDetailedDtos) {
BusSelectedReceivablesDetailed busSelectedReceivablesDetailed = new BusSelectedReceivablesDetailed(); BusSelectedReceivablesDetailed busSelectedReceivablesDetailed = new BusSelectedReceivablesDetailed();
BeanUtil.copyProperties(busSelectedReceivablesDetailedDto, busSelectedReceivablesDetailed); BeanUtil.copyProperties(busSelectedReceivablesDetailedDto, busSelectedReceivablesDetailed);
busSelectedReceivablesDetailed.setCollSid(sid1); busSelectedReceivablesDetailed.setCollSid(sid1);
busSelectedReceivablesDetailedService.save(busSelectedReceivablesDetailed); busSelectedReceivablesDetailedService.save(busSelectedReceivablesDetailed);
//已选应收款项-车架号
String vin = busSelectedReceivablesDetailed.getVIN();
//已选应收款项-应收项目名称
String receivablesName = busSelectedReceivablesDetailed.getReceivablesName();
BusUncollectedReceivablesDetailedVo busUncollectedReceivablesDetailedVo = busUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName);
//应收未收款项-当前应收金额
BigDecimal currentReceivableMoney = new BigDecimal(busUncollectedReceivablesDetailedVo.getCurrentReceivableMoney());
//已选应收款项-认款金额
BigDecimal subscriptionMoney = busSelectedReceivablesDetailed.getSubscriptionMoney();
BigDecimal subtract = currentReceivableMoney.subtract(subscriptionMoney);
if (subtract.compareTo(BigDecimal.ZERO) < 0){
return rb.setMsg("认款金额超出应收金额,请重新输入");
}
busUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f",subtract));
BusUncollectedReceivablesDetailedDto busUncollectedReceivablesDetailedDto = new BusUncollectedReceivablesDetailedDto();
BeanUtil.copyProperties(busUncollectedReceivablesDetailedVo,busUncollectedReceivablesDetailedDto);
busUncollectedReceivablesDetailedService.updateBySid(busUncollectedReceivablesDetailedDto,busUncollectedReceivablesDetailedDto.getSid());
} }
List<BusSelectedReceivablesDetailedVo> busSelectedReceivablesDetailedVos = busSelectedReceivablesDetailedService.fetchByCillSid(sid1);
BigDecimal totalSubscriptionMone = null;
for (BusSelectedReceivablesDetailedVo busSelectedReceivablesDetailedVo : busSelectedReceivablesDetailedVos) {
BigDecimal subscriptionMoney = new BigDecimal(busSelectedReceivablesDetailedVo.getSubscriptionMoney());
totalSubscriptionMone = totalSubscriptionMone.add(subscriptionMoney);
}
BigDecimal collectionMoney = busCollectionConfirmation.getCollectionMoney();
BigDecimal subtract = collectionMoney.subtract(totalSubscriptionMone);
if (subtract.compareTo(BigDecimal.ZERO) < 0){
return rb.setMsg("已选应收款项金额已超出该确认单应收金额总额,请重新核对");
}
busCollectionConfirmation.setBalance(totalSubscriptionMone);
save(busCollectionConfirmation);
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
updateBySid(dto, sid); updateBySid(dto, sid);

Loading…
Cancel
Save