|
@@ -97,6 +97,13 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
@Autowired
|
|
|
private RepalRemindReadInfoService repalRemindReadInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RepalBillOperLogService repalBillOperLogService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private UserExtService userExtService;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public RepalBillInfoVO getRepalBillPage(GetRepalBillPageDTO dto) {
|
|
|
if (ObjectUtil.hasEmpty(dto.getRepalGroupId(), dto.getRepalBookId())) {
|
|
@@ -276,18 +283,28 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean deleteRepalBillById(DeleteRepalBillDTO dto) {
|
|
|
- // 权限判断 todo 日志
|
|
|
+ RepalBill repalBill = this.getById(dto.getRepalBillId());
|
|
|
+ if (repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
+ RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? PermissionEnum.UPDATE_RECEIVABLE.getCode() : PermissionEnum.UPDATE_RECEIPT.getCode())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "无对应权限");
|
|
|
+ }
|
|
|
this.update(Wrappers.lambdaUpdate(RepalBill.class).eq(RepalBill::getId, dto.getRepalBillId())
|
|
|
.set(RepalBill::getDeleted, DeletedStatusEnum.DELETE.getCode()));
|
|
|
+ // 删除关联人
|
|
|
+ repalResponsiblePersonService.deletePersonByBillId(dto.getRepalBillId());
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean settleRepalBillById(SettleRepalBillDTO dto) {
|
|
|
- // todo 权限,日志
|
|
|
RepalBill repalBill = this.getById(dto.getRepalBillId());
|
|
|
+ if (repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
+ RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? PermissionEnum.UPDATE_RECEIVABLE.getCode() : PermissionEnum.UPDATE_RECEIPT.getCode())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "无对应权限");
|
|
|
+ }
|
|
|
// 结清tag
|
|
|
boolean success = false;
|
|
|
// 金额溢出
|
|
@@ -305,7 +322,8 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
changeRecord.setPreMoney(repalBill.getReceivable());
|
|
|
changeRecord.setTransMoney(repalBill.getReceivable());
|
|
|
changeRecord.setOperUserId(UserContextUtil.getUser().getUserId());
|
|
|
- // changeRecord.setOperUserName(); 组织用户名称?用户名称?
|
|
|
+ UserExt userExt = userExtService.getById(changeRecord.getOperUserId());
|
|
|
+ changeRecord.setOperUserName(userExt.getUserName());
|
|
|
repalChangeRecordService.save(changeRecord);
|
|
|
this.update(Wrappers.lambdaUpdate(RepalBill.class)
|
|
|
.eq(RepalBill::getId, repalBill.getId())
|
|
@@ -323,17 +341,23 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
if (Objects.isNull(customer)) {
|
|
|
throw new CommonException(CodeMsg.FAILED, "客户信息错误");
|
|
|
}
|
|
|
- boolean companyIdFlag = CustPropertyEnum.COMPANY.getCode().equals(customer.getCustProperty()) || CustPropertyEnum.GOV.getCode().equals(customer.getCustProperty());
|
|
|
- if (companyIdFlag && StrUtil.isBlank(customer.getCompanyId())) {
|
|
|
+ // 评级flag
|
|
|
+ boolean diagnosisFlag = (CustPropertyEnum.COMPANY.getCode().equals(customer.getCustProperty()) || CustPropertyEnum.GOV.getCode().equals(customer.getCustProperty()))
|
|
|
+ && RepalBillTypeEnum.RECEIVABLE.getCode().equals(dto.getRepalBillType());
|
|
|
+ if (diagnosisFlag && StrUtil.isBlank(customer.getCompanyId())) {
|
|
|
throw new CommonException(CodeMsg.FAILED, "公司信息错误");
|
|
|
}
|
|
|
- // 权限判断 todo 日志
|
|
|
+ if (repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
+ RepalBillTypeEnum.RECEIVABLE.getCode().equals(dto.getRepalBillType()) ? PermissionEnum.ADD_RECEIVABLE.getCode() : PermissionEnum.ADD_RECEIPT.getCode())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "无对应权限");
|
|
|
+ }
|
|
|
if (Objects.isNull(dto.getRepalBookId())) {
|
|
|
// 新建账本
|
|
|
RepalBook repalBook = new RepalBook();
|
|
|
repalBook.setRepalGroupId(dto.getRepalGroupId());
|
|
|
repalBook.setCustomerId(customer.getCustId());
|
|
|
repalBook.setCustomerName(customer.getCustName());
|
|
|
+ repalBook.setRepalBookName(customer.getCustName());
|
|
|
repalBook.setCompanyId(customer.getCompanyId());
|
|
|
repalBook.setUserId(UserContextUtil.getUser().getUserId());
|
|
|
repalBookService.save(repalBook);
|
|
@@ -347,10 +371,11 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
if (CollUtil.isNotEmpty(dto.getContractUrlList())) {
|
|
|
repalBill.setContractUrl(String.join(";", dto.getContractUrlList()));
|
|
|
}
|
|
|
- if (companyIdFlag) {
|
|
|
- // 评分 todo
|
|
|
- }
|
|
|
this.save(repalBill);
|
|
|
+ if (diagnosisFlag) {
|
|
|
+ // 非个人 & 应收,才会评级
|
|
|
+ repalBillDiagnosisService.addRepalBillDiagnosis(repalBill.getUserId(), repalBill.getId(), dto.getTotalMoney(), Collections.singletonList(customer.getCustName()));
|
|
|
+ }
|
|
|
// 负责人
|
|
|
repalResponsiblePersonService.saveBatch(dto.getResponsiblePersonIdList().stream().map(t -> {
|
|
|
RepalResponsiblePerson person = new RepalResponsiblePerson();
|
|
@@ -364,8 +389,16 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean breakRepalBill(BreakRepalBillDTO dto) {
|
|
|
- // 权限 todo 日志
|
|
|
+ RepalBill repalBill = this.getById(dto.getRepalBillId());
|
|
|
+ if (Objects.isNull(repalBill)) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "账款错误");
|
|
|
+ }
|
|
|
+ if (repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
+ RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? PermissionEnum.UPDATE_RECEIVABLE.getCode() : PermissionEnum.UPDATE_RECEIPT.getCode())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "无对应权限");
|
|
|
+ }
|
|
|
this.update(Wrappers.lambdaUpdate(RepalBill.class)
|
|
|
.eq(RepalBill::getId, dto.getRepalBillId())
|
|
|
.set(RepalBill::getRepalBillStatus, RepalBillStatusEnum.END.getCode())
|
|
@@ -376,6 +409,13 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean updateRepalBill(UpdateRepalBillDTO dto) {
|
|
|
+ RepalBill repalBill = this.getById(dto.getRepalBillId());
|
|
|
+ if (repalRolePermissionService.checkUserPermission(UserContextUtil.getUser().getUserId(),
|
|
|
+ RepalBillTypeEnum.RECEIVABLE.getCode().equals(repalBill.getRepalBillType()) ? PermissionEnum.UPDATE_RECEIVABLE.getCode() : PermissionEnum.UPDATE_RECEIPT.getCode())) {
|
|
|
+ throw new CommonException(CodeMsg.FAILED, "无对应权限");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|