|
@@ -15,6 +15,7 @@ import com.winhc.repal.service.RepalBillService;
|
|
import com.winhc.repal.service.RepalChangeRecordService;
|
|
import com.winhc.repal.service.RepalChangeRecordService;
|
|
import com.winhc.repal.service.RepalGroupMemberService;
|
|
import com.winhc.repal.service.RepalGroupMemberService;
|
|
import com.winhc.repal.util.UserContextUtil;
|
|
import com.winhc.repal.util.UserContextUtil;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
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;
|
|
@@ -58,23 +59,24 @@ public class RepalChangeRecordServiceImpl extends ServiceImpl<RepalChangeRecordM
|
|
throw new CommonException(CodeMsg.FAILED, "未查到对应的账款");
|
|
throw new CommonException(CodeMsg.FAILED, "未查到对应的账款");
|
|
}
|
|
}
|
|
RepalBill repalBill = repalBillService.getById(repalChangeRecord.getRepalBillId());
|
|
RepalBill repalBill = repalBillService.getById(repalChangeRecord.getRepalBillId());
|
|
|
|
+ // 删除之前那条记录,重新计算
|
|
|
|
+ this.calculateMoney(dto.getRepalChangeRecordId(), repalBill.getId());
|
|
|
|
+ // 新增一条
|
|
List<RepalChangeRecord> recordList = this.list(Wrappers.lambdaQuery(RepalChangeRecord.class)
|
|
List<RepalChangeRecord> recordList = this.list(Wrappers.lambdaQuery(RepalChangeRecord.class)
|
|
.eq(RepalChangeRecord::getRepalBillId, repalBill.getId())
|
|
.eq(RepalChangeRecord::getRepalBillId, repalBill.getId())
|
|
.eq(RepalChangeRecord::getDeleted, DeletedStatusEnum.NORMAL.getCode())
|
|
.eq(RepalChangeRecord::getDeleted, DeletedStatusEnum.NORMAL.getCode())
|
|
- .ge(RepalChangeRecord::getId, dto.getRepalChangeRecordId()));
|
|
|
|
|
|
+ .orderByDesc(RepalChangeRecord::getId)
|
|
|
|
+ .last("LIMIT 1"));
|
|
|
|
+ RepalChangeRecord entity = new RepalChangeRecord();
|
|
|
|
+ BeanUtils.copyProperties(recordList.get(0), entity);
|
|
|
|
+ entity.setPreMoney(recordList.get(0).getAfterMoney());
|
|
|
|
+ entity.setTransMoney(dto.getMoney());
|
|
|
|
+ entity.setAfterMoney(entity.getPreMoney().subtract(entity.getTransMoney()));
|
|
|
|
+ entity.setRecordDate(dto.getRecordDate());
|
|
RepalGroupMember member = repalGroupMemberService.getMemberByUserId(UserContextUtil.getUser().getUserId());
|
|
RepalGroupMember member = repalGroupMemberService.getMemberByUserId(UserContextUtil.getUser().getUserId());
|
|
- // 重新计算金额
|
|
|
|
- for (int i = 0; i < recordList.size(); i++) {
|
|
|
|
- if (i == 0) {
|
|
|
|
- recordList.get(i).setOperUserName(member.getMemberUserName());
|
|
|
|
- recordList.get(i).setOperUserId(member.getUserId());
|
|
|
|
- recordList.get(i).setTransMoney(dto.getMoney());
|
|
|
|
- } else {
|
|
|
|
- recordList.get(i).setPreMoney(recordList.get(i - 1).getAfterMoney());
|
|
|
|
- }
|
|
|
|
- recordList.get(i).setAfterMoney(recordList.get(i).getPreMoney().subtract(recordList.get(i).getTransMoney()));
|
|
|
|
- }
|
|
|
|
- this.saveOrUpdateBatch(recordList);
|
|
|
|
|
|
+ entity.setOperUserName(member.getMemberUserName());
|
|
|
|
+ entity.setOperUserId(member.getUserId());
|
|
|
|
+ this.save(entity);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -105,8 +107,14 @@ public class RepalChangeRecordServiceImpl extends ServiceImpl<RepalChangeRecordM
|
|
public Boolean delReturnedById(Long repalChangeRecordId) {
|
|
public Boolean delReturnedById(Long repalChangeRecordId) {
|
|
RepalChangeRecord repalChangeRecord = this.getById(repalChangeRecordId);
|
|
RepalChangeRecord repalChangeRecord = this.getById(repalChangeRecordId);
|
|
RepalBill repalBill = repalBillService.getById(repalChangeRecord.getRepalBillId());
|
|
RepalBill repalBill = repalBillService.getById(repalChangeRecord.getRepalBillId());
|
|
|
|
+ this.calculateMoney(repalChangeRecordId, repalBill.getId());
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean calculateMoney(Long repalChangeRecordId, Long legalCloudId) {
|
|
List<RepalChangeRecord> recordList = this.list(Wrappers.lambdaQuery(RepalChangeRecord.class)
|
|
List<RepalChangeRecord> recordList = this.list(Wrappers.lambdaQuery(RepalChangeRecord.class)
|
|
- .eq(RepalChangeRecord::getRepalBillId, repalBill.getId())
|
|
|
|
|
|
+ .eq(RepalChangeRecord::getRepalBillId, legalCloudId)
|
|
.eq(RepalChangeRecord::getDeleted, DeletedStatusEnum.NORMAL.getCode())
|
|
.eq(RepalChangeRecord::getDeleted, DeletedStatusEnum.NORMAL.getCode())
|
|
.ge(RepalChangeRecord::getId, repalChangeRecordId));
|
|
.ge(RepalChangeRecord::getId, repalChangeRecordId));
|
|
if (CollUtil.isEmpty(recordList)) {
|
|
if (CollUtil.isEmpty(recordList)) {
|