Browse Source

PC款项申请、确认驳回一次性认款逻辑修改

master
dimengzhe 2 years ago
parent
commit
2aa1f0a258
  1. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmation.java
  2. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java
  3. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java
  4. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java
  5. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailed.java
  6. 219
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmation.java

@ -91,4 +91,5 @@ public class FinCollectionConfirmation extends BaseEntity {
private String busSid; private String busSid;
@ApiModelProperty("业务单据编号") @ApiModelProperty("业务单据编号")
private String busNo; private String busNo;
private int first;
} }

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java

@ -51,9 +51,10 @@ import java.util.List;
@Data @Data
public class FinCollectionConfirmationDto implements Dto { public class FinCollectionConfirmationDto implements Dto {
private static final long serialVersionUID = -403651328937526175L;
@ApiModelProperty("用户sid") @ApiModelProperty("用户sid")
private String userSid; private String userSid;
@ApiModelProperty("收款确认单sid") @ApiModelProperty("sid")
private String sid; // 收款确认单sid private String sid; // 收款确认单sid
@ApiModelProperty("业务员sid") @ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid private String staffSid; // 业务员sid

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java

@ -49,7 +49,7 @@ import lombok.Data;
@Data @Data
public class FinSelectedReceivablesDetailedDto implements Dto { public class FinSelectedReceivablesDetailedDto implements Dto {
@ApiModelProperty("创建人接口") @ApiModelProperty("创建人")
private String createByName; // 创建人接口 private String createByName; // 创建人接口
@ApiModelProperty("合同sid") @ApiModelProperty("合同sid")
private String contractSid; // 合同sid private String contractSid; // 合同sid
@ -70,8 +70,8 @@ public class FinSelectedReceivablesDetailedDto implements Dto {
private String receivablesName; // 应收项目名称 private String receivablesName; // 应收项目名称
@ApiModelProperty("当前应收金额") @ApiModelProperty("当前应收金额")
private String currentReceivableMoney; // 当前应收金额 private String currentReceivableMoney; // 当前应收金额
@ApiModelProperty("上次认款金额") /* @ApiModelProperty("上次认款金额")
private String lastSubscriptionMoney; // 上次认款金额 private String lastSubscriptionMoney; // 上次认款金额*/
@ApiModelProperty("认款金额") @ApiModelProperty("认款金额")
private String subscriptionMoney; // 认款金额 private String subscriptionMoney; // 认款金额
@ApiModelProperty("认款申请日期") @ApiModelProperty("认款申请日期")

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java

@ -106,4 +106,7 @@ public class FinSelectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("款项类型value") @ApiModelProperty("款项类型value")
private String paymentTypeValue; // 款项类型value private String paymentTypeValue; // 款项类型value
@ApiModelProperty("应收未收款项sid")
private String receivablesSid;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailed.java

@ -85,4 +85,6 @@ public class FinUncollectedReceivablesDetailed extends BaseEntity {
@ApiModelProperty("应收金额(不变)") @ApiModelProperty("应收金额(不变)")
private String reveivableMoney; private String reveivableMoney;
private Integer subscriptionState;
} }

219
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -26,6 +26,7 @@
package com.yxt.anrui.fin.biz.fincollectionconfirmation; package com.yxt.anrui.fin.biz.fincollectionconfirmation;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
@ -48,6 +49,7 @@ import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivabl
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
@ -72,6 +74,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* Project: anrui-fin(销售相关) <br/> * Project: anrui-fin(销售相关) <br/>
@ -203,7 +206,98 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
public ResultBean saveAllDto(FinCollectionConfirmationDto dto) { public ResultBean saveAllDto(FinCollectionConfirmationDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
//首次认款
List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds();
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(FinSelectedReceivablesDetailedDto::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
if (subscriptionMoneyAll.compareTo(new BigDecimal(dto.getCollectionMoney())) != 0) {
return rb.setMsg("认款不完全,提交失败");
}
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs();
if (paymentVoucherAppendixs.size() == 0) {
return rb.setMsg("请上传打款凭证附件");
}
List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs = dto.getRemittanceConfirmationAppendixs();
if (remittanceConfirmationAppendixs.size() == 0) {
return rb.setMsg("请上传汇款确认书附件");
}
//对收款申请进行赋值操作
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation();
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid");
sid = finCollectionConfirmation.getSid();
//根据用户sid查询分公司sid
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
finCollectionConfirmation.setCreateBySid(dto.getUserSid());
finCollectionConfirmation.setUseOrgSid(useOrgSid);
//附件保存:打款凭证附件
paymentVoucherAppendixs.stream().forEach(v -> {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
BeanUtil.copyProperties(v, commonAppendixDto);
String s = commonAppendixDto.getFilePath();
if (s.contains(fileUploadComponent.getUrlPrefix())) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid());
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getUserSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
});
String payFilePath = paymentVoucherAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(","));
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath);
//汇款确认书附件保存
remittanceConfirmationAppendixs.stream().forEach(v -> {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
BeanUtil.copyProperties(v, commonAppendixDto);
String s = commonAppendixDto.getFilePath();
if (s.contains(fileUploadComponent.getUrlPrefix())) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid());
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getUserSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
});
String remFilePath = remittanceConfirmationAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(","));
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath);
//认款明细保存
String finalSid = sid;
finSelectedReceivablesDetailedDtos.stream().forEach(v -> {//已选
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid");
finSelectedReceivablesDetailed.setCollSid(finalSid);
finSelectedReceivablesDetailed.setUseOrgSid(useOrgSid);
//设置审核状态为待审核(1待审核/2已驳回/3已审核)
finSelectedReceivablesDetailed.setAuditState(1);
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed);
//添加已选车架号为临时状态
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto();
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getCode());
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.FIN_PAYMENT.getRemarks());
baseVehicleTempstateDto.setTempKey("1");
baseVehicleTempstateDto.setTempValue("待审核");
baseVehicleTempstateDto.setBusSid(finalSid);
//根据合同编号和车架号查询该合同的车辆sid
ResultBean<String> resultBean = busSalesOrderFeign.getVinSidByConSid(v.getContractNo(), v.getVIN());
if (resultBean.getSuccess()) {
baseVehicleTempstateDto.setVehSid(resultBean.getData());
}
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto);
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney());
finCollectionConfirmation.setAuditState(1);
//1未认款/2部分认款/3已认款
finCollectionConfirmation.setPaymentState(1);
baseMapper.insert(finCollectionConfirmation);
});
} else {//认款、多次认款
}
/* FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation();
List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds(); List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds();
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs(); List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs();
@ -220,24 +314,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
// finCollectionConfirmation.setSid(sid1); // finCollectionConfirmation.setSid(sid1);
String payFilePath = ""; String payFilePath = "";
String remFilePath = ""; String remFilePath = "";
/* String staffSid = dto.getStaffSid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept();
String psid = data1.getPsid();
if (isDept == 0 && !psid.equals(0)) {
orgSidPath = s;
break;
}
}
}*/
//用户sid //用户sid
String createBySid = dto.getUserSid(); String createBySid = dto.getUserSid();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(createBySid).getData(); String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(createBySid).getData();
@ -298,7 +374,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto); ResultBean vehicleStateResult = baseVehicleTempstateFeign.save(baseVehicleTempstateDto);
//已选应收款项-车架号 //已选应收款项-车架号
/* String vin = finSelectedReceivablesDetailed.getVIN(); String vin = finSelectedReceivablesDetailed.getVIN();
//已选应收款项-应收项目名称 //已选应收款项-应收项目名称
String receivablesName = finSelectedReceivablesDetailed.getReceivablesName(); String receivablesName = finSelectedReceivablesDetailed.getReceivablesName();
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName);
@ -316,7 +392,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract)); finUncollectedReceivablesDetailedVo.setCurrentReceivableMoney(String.format("%.0f", subtract));
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto);
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid());*/ finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid());
} }
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid); List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
BigDecimal totalSubscriptionMone = new BigDecimal(0); BigDecimal totalSubscriptionMone = new BigDecimal(0);
@ -326,16 +402,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
//收款金额 //收款金额
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney();
// BigDecimal subtract = collectionMoney.subtract(totalSubscriptionMone); BigDecimal subtract = collectionMoney.subtract(totalSubscriptionMone);
/* if (subtract.compareTo(BigDecimal.ZERO) < 0) { if (subtract.compareTo(BigDecimal.ZERO) < 0) {
return rb.setMsg("已选应收款项金额已超出该确认单应收金额总额,请重新核对"); return rb.setMsg("已选应收款项金额已超出该确认单应收金额总额,请重新核对");
}*/ }
// finCollectionConfirmation.setBalance(collectionMoney); finCollectionConfirmation.setBalance(collectionMoney);
FinCollectionConfirmation confirmation = fetchBySid(dto.getSid()); FinCollectionConfirmation confirmation = fetchBySid(dto.getSid());
finCollectionConfirmation.setBalance(confirmation.getBalance()); if (confirmation == null) {
finCollectionConfirmation.setBalance(collectionMoney);
} else {
finCollectionConfirmation.setBalance(confirmation.getBalance());
}
finCollectionConfirmation.setAuditState(1); finCollectionConfirmation.setAuditState(1);
finCollectionConfirmation.setPaymentState(1); finCollectionConfirmation.setPaymentState(1);
save(finCollectionConfirmation); save(finCollectionConfirmation);*/
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
@ -836,20 +917,40 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
public ResultBean cashierReject(String sid) { public ResultBean cashierReject(String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
baseMapper.cashierReject(sid); FinCollectionConfirmation confirmation = fetchBySid(sid);
if (confirmation == null) {
return rb.setMsg("该申请不存在");
}
if (confirmation.getFirst() == 1) {
return rb.setMsg("不是首次,不允许驳回");
}
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1);
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
String selectSid = v.getSid();
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailed.setAuditState(2);
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
});
confirmation.setAuditState(2);
baseMapper.updateById(confirmation);
//删除临时表的数据
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);
/*baseMapper.cashierReject(sid);
int auditState = 1; int auditState = 1;
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, auditState); List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, auditState);
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
//更新审核时间 //更新审核时间
finSelectedReceivablesDetailedService.updateAuditDateBySid(finSelectedReceivablesDetailedVo.getSid(), "2"); finSelectedReceivablesDetailedService.updateAuditDateBySid(finSelectedReceivablesDetailedVo.getSid(), "2");
/* String vin = finSelectedReceivablesDetailedVo.getVIN(); String vin = finSelectedReceivablesDetailedVo.getVIN();
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName();
BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName);
String sid1 = finUncollectedReceivablesDetailedVo.getSid(); String sid1 = finUncollectedReceivablesDetailedVo.getSid();
BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney()); BigDecimal currentReceivableMoney = new BigDecimal(finUncollectedReceivablesDetailedVo.getCurrentReceivableMoney());
String curRecMoney = String.valueOf(currentReceivableMoney.add(subscriptionMoney)); String curRecMoney = String.valueOf(currentReceivableMoney.add(subscriptionMoney));
finUncollectedReceivablesDetailedService.updateCurRecMoneyBySid(curRecMoney, sid1);*/ finUncollectedReceivablesDetailedService.updateCurRecMoneyBySid(curRecMoney, sid1);
} }
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney();
@ -858,14 +959,55 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDto); BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDto);
updateBySid(finCollectionConfirmationDto, finCollectionConfirmationDto.getSid()); updateBySid(finCollectionConfirmationDto, finCollectionConfirmationDto.getSid());
//删除临时表的数据 //删除临时表的数据
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);*/
return rb.success().setMsg("驳回成功"); return rb.success().setMsg("驳回成功");
} }
public ResultBean cashierConfirm(String sid) { public ResultBean cashierConfirm(String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation confirmation = fetchBySid(sid); FinCollectionConfirmation confirmation = fetchBySid(sid);
baseMapper.cashierConfirm(sid); if (confirmation == null) {
return rb.setMsg("该申请不存在");
}
//查询该申请下的所有待审核的款项明细
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1);
finSelectedReceivablesDetailedVos.stream().forEach(v -> {
//已选款项明细sid
String selectSid = v.getSid();
//应收未收款项明细sid
String receivablesSid = v.getReceivablesSid();
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid);
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney();
//更新当前应收金额
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney.subtract(new BigDecimal(v.getSubscriptionMoney())));
//更新认款状态
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
finSelectedReceivablesDetailed.setAuditState(3);
//更新审核时间
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
//ToDo:查询是否符合待出库的条件
});
//查询该申请所有的款项明细
finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3);
//查询该申请已认款金额总数
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) == 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2);
//更新收款申请的余额以及审核状态
BigDecimal balanceBigDecimal = confirmation.getCollectionMoney().subtract(subscriptionMoneyAll);
confirmation.setBalance(balanceBigDecimal);
confirmation.setAuditState(3);
baseMapper.updateById(confirmation);
//删除临时表的数据
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);
/* baseMapper.cashierConfirm(sid);
int auditState = 1; int auditState = 1;
//总共认款金额 //总共认款金额
BigDecimal totalSubscriptionMoney = new BigDecimal(0); BigDecimal totalSubscriptionMoney = new BigDecimal(0);
@ -881,9 +1023,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
String vin = finSelectedReceivablesDetailedVo.getVIN(); String vin = finSelectedReceivablesDetailedVo.getVIN();
String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName(); String receivablesName = finSelectedReceivablesDetailedVo.getReceivablesName();
String useOrgSid = finSelectedReceivablesDetailedVo.getUseOrgSid(); String useOrgSid = finSelectedReceivablesDetailedVo.getUseOrgSid();
// FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName); FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecName(vin, receivablesName);
FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo = finUncollectedReceivablesDetailedService.fetchByVinAndRecNameOrgSid(vin, receivablesName, useOrgSid); String sid2 = finUncollectedReceivablesDetailedVo.getSid();
// String sid2 = finUncollectedReceivablesDetailedVo.getSid();
//应收未收款项-当前应收金额 //应收未收款项-当前应收金额
BigDecimal currentReceivableMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney()); BigDecimal currentReceivableMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney());
//已选应收款项-认款金额 //已选应收款项-认款金额
@ -892,13 +1033,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto); BeanUtil.copyProperties(finUncollectedReceivablesDetailedVo, finUncollectedReceivablesDetailedDto);
finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid()); finUncollectedReceivablesDetailedService.updateBySid(finUncollectedReceivablesDetailedDto, finUncollectedReceivablesDetailedDto.getSid());
/* if (subtract.compareTo(BigDecimal.ZERO) == 0) { if (subtract.compareTo(BigDecimal.ZERO) == 0) {
int subscriptionState = 3; int subscriptionState = 3;
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState);
} else { } else {
int subscriptionState = 2; int subscriptionState = 2;
finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState); finUncollectedReceivablesDetailedService.updateSubscriptionStateBySid(sid2, subscriptionState);
}*/ }
} }
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney(); BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney();
@ -912,9 +1053,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
//更新余额 //更新余额
BigDecimal balanceBigDecimal = confirmation.getBalance().subtract(totalSubscriptionMoney); BigDecimal balanceBigDecimal = confirmation.getBalance().subtract(totalSubscriptionMoney);
baseMapper.updateBalanceBySid(sid,balanceBigDecimal); baseMapper.updateBalanceBySid(sid, balanceBigDecimal);
//删除临时表的数据 //删除临时表的数据
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);*/
return rb.success().setMsg("款项确认成功"); return rb.success().setMsg("款项确认成功");
} }

Loading…
Cancel
Save