|
@@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
|
|
|
-import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
|
|
|
import com.fjhx.account.entity.account.po.AccountRunningWater;
|
|
|
-import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
|
|
|
import com.fjhx.account.service.account.AccountRunningWaterService;
|
|
|
import com.fjhx.common.entity.claim.ClaimContract;
|
|
|
import com.fjhx.common.entity.claim.dto.ClaimDto;
|
|
@@ -101,7 +98,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
|
|
|
claim.setClaimUserId(SecurityUtils.getUserId());
|
|
|
claim.setClaimUserName(SecurityUtils.getUsername());
|
|
|
this.save(claim);
|
|
|
- List<ClaimContract> claimContractList = claim.getClaimContractList();
|
|
|
+ List<ClaimContractVo> claimContractList = claim.getClaimContractList();
|
|
|
if (CollectionUtils.isNotEmpty(claim.getClaimContractList())) {
|
|
|
for (ClaimContract c : claimContractList) {
|
|
|
c.setClaimId(claim.getId());
|
|
@@ -112,7 +109,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
|
|
|
c.setRate(water.getRate());
|
|
|
}
|
|
|
}
|
|
|
- claimContractService.saveBatch(claimContractList);
|
|
|
+ claimContractService.saveBatch(claimContractList.stream().collect(Collectors.toList()));
|
|
|
}
|
|
|
//更新流水数据已认领金额
|
|
|
if (water.getClaimAmount().add(claim.getAmount()).compareTo(water.getAmount()) >= 0) {//如果认领金额=流水金额
|
|
@@ -205,80 +202,88 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
|
|
|
/**
|
|
|
* 回款登记
|
|
|
*/
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
- public synchronized void addClaimInfo(AccountRunningWaterDto accountRunningWaterDto) {
|
|
|
- accountRunningWaterDto.setType("30");
|
|
|
- accountRunningWaterDto.setStatus("10");
|
|
|
- accountRunningWaterDto.setReceived("10");
|
|
|
- accountRunningWaterService.save(accountRunningWaterDto);
|
|
|
- //保存凭证附件
|
|
|
- ObsFileUtil.saveFile(accountRunningWaterDto.getFileList(), accountRunningWaterDto.getBusinessId());
|
|
|
-
|
|
|
+ public synchronized void addClaimInfo(ClaimDto claim) {
|
|
|
//保存到账信息
|
|
|
- Claim claim = new Claim();
|
|
|
- claim.setBusinessId(accountRunningWaterDto.getId());
|
|
|
- claim.setAmount(accountRunningWaterDto.getAmount());
|
|
|
- claim.setAccountManagementId(accountRunningWaterDto.getAccountManagementId());
|
|
|
- claim.setRemark(accountRunningWaterDto.getRemarks());
|
|
|
this.save(claim);
|
|
|
|
|
|
- List<ClaimContract> claimContractList = accountRunningWaterDto.getClaimContractList();
|
|
|
+ //保存凭证附件
|
|
|
+ ObsFileUtil.saveFile(claim.getFileList(), claim.getId());
|
|
|
+
|
|
|
+ List<ClaimContractVo> claimContractList = claim.getClaimContractList();
|
|
|
for (ClaimContract claimContract : claimContractList) {
|
|
|
claimContract.setClaimId(claim.getId());
|
|
|
claimContract.setContractMoney(claimContract.getMoney());
|
|
|
claimContract.setMoneyCny(claimContract.getMoney());
|
|
|
}
|
|
|
- claimContractService.saveBatch(claimContractList);
|
|
|
+ claimContractService.saveBatch(claimContractList.stream().collect(Collectors.toList()));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
- public Page<AccountRunningWaterVo> claimInfoPage(AccountRunningWaterSelectDto dto) {
|
|
|
- IWrapper<AccountRunningWater> wrapper = accountRunningWaterService.getWrapper();
|
|
|
-
|
|
|
- wrapper.eq("arw", AccountRunningWater::getCreateUser, SecurityUtils.getUserId());
|
|
|
-
|
|
|
- return connClaimInfoPage(dto, wrapper);
|
|
|
+ public void claimConfirm(ClaimDto dto) {
|
|
|
+ //创建流水
|
|
|
+ AccountRunningWater accountRunningWater = new AccountRunningWater();
|
|
|
+ accountRunningWater.setCompanyId(dto.getCompanyId());
|
|
|
+ accountRunningWater.setAccountManagementId(dto.getAccountManagementId());
|
|
|
+ accountRunningWater.setStatus("10");// 收入
|
|
|
+ accountRunningWater.setBusinessId(dto.getId());
|
|
|
+ accountRunningWater.setAmount(dto.getAmount());
|
|
|
+ accountRunningWater.setCurrency("CNY");
|
|
|
+ accountRunningWater.setReceived("10");// 合同到账(10:是,20:否)
|
|
|
+ accountRunningWater.setName(dto.getName());
|
|
|
+ accountRunningWater.setOpeningBank(dto.getOpeningBank());
|
|
|
+ accountRunningWater.setAccountOpening(dto.getAccountOpening());
|
|
|
+ accountRunningWater.setType("20"); // 添加流水类型 10 打款 20 到款登记
|
|
|
+ accountRunningWater.setTransactionTime(dto.getTransactionTime());
|
|
|
+
|
|
|
+ accountRunningWater.setIsClaim(1);
|
|
|
+ accountRunningWater.setClaimId(dto.getId());
|
|
|
+ accountRunningWater.setConfirmRemark(dto.getConfirmRemark());
|
|
|
+ //操作余额
|
|
|
+ accountRunningWaterService.changeRemainder(accountRunningWater);
|
|
|
+ //保存流水
|
|
|
+ accountRunningWaterService.save(accountRunningWater);
|
|
|
|
|
|
+ this.update(q -> q
|
|
|
+ .eq(Claim::getId, dto.getId())
|
|
|
+ .set(Claim::getBusinessId, accountRunningWater.getId())
|
|
|
+ .set(Claim::getConfirmStatus, 1)
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ );
|
|
|
+ ObsFileUtil.saveFile(dto.getFileList(), dto.getId(), 1);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<AccountRunningWaterVo> claimInfoConfirmPage(AccountRunningWaterSelectDto dto) {
|
|
|
- IWrapper<AccountRunningWater> wrapper = accountRunningWaterService.getWrapper();
|
|
|
+ public Page<ClaimVo> claimInfoPage(ClaimSelectDto dto) {
|
|
|
+ IWrapper<Claim> wrapper = getWrapper();
|
|
|
|
|
|
- wrapper.orderByDesc("arw", AccountRunningWater::getTransactionTime);
|
|
|
+ wrapper.eq("cl", Claim::getCreateUser, SecurityUtils.getUserId());
|
|
|
|
|
|
return connClaimInfoPage(dto, wrapper);
|
|
|
}
|
|
|
|
|
|
- @DSTransactional
|
|
|
@Override
|
|
|
- public void claimConfirm(AccountRunningWaterDto dto) {
|
|
|
- accountRunningWaterService.update(q -> q
|
|
|
- .eq(AccountRunningWater::getId, dto.getId())
|
|
|
- .set(AccountRunningWater::getIsClaim, 1)
|
|
|
- .set(AccountRunningWater::getConfirmRemark, dto.getConfirmRemark())
|
|
|
- .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
- .set(BasePo::getUpdateTime, new Date())
|
|
|
- );
|
|
|
- this.update(q -> q
|
|
|
- .eq(Claim::getBusinessId, dto.getId())
|
|
|
- .set(Claim::getConfirmStatus, 1)
|
|
|
- .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
- .set(BasePo::getUpdateTime, new Date())
|
|
|
- );
|
|
|
- ObsFileUtil.saveFile(dto.getFileList(), dto.getId(), 1);
|
|
|
+ public Page<ClaimVo> claimInfoConfirmPage(ClaimSelectDto dto) {
|
|
|
+ IWrapper<Claim> wrapper = getWrapper();
|
|
|
+
|
|
|
+ wrapper.orderByDesc("cl", Claim::getTransactionTime);
|
|
|
+
|
|
|
+ return connClaimInfoPage(dto, wrapper);
|
|
|
}
|
|
|
|
|
|
- private Page<AccountRunningWaterVo> connClaimInfoPage(AccountRunningWaterSelectDto dto, IWrapper<AccountRunningWater> wrapper) {
|
|
|
- wrapper.eq("arw", AccountRunningWater::getType, 30);
|
|
|
- wrapper.eq("arw", AccountRunningWater::getStatus, 10);
|
|
|
+ private Page<ClaimVo> connClaimInfoPage(ClaimSelectDto dto, IWrapper<Claim> wrapper) {
|
|
|
+// wrapper.eq("cl", Claim::getType, 30);
|
|
|
+// wrapper.eq("cl", Claim::getStatus, 10);
|
|
|
|
|
|
- wrapper.eq("arw", AccountRunningWater::getIsClaim, dto.getIsClaim());
|
|
|
+ wrapper.eq("cl", Claim::getConfirmStatus, dto.getIsClaim());
|
|
|
+ wrapper.eq("cl", Claim::getConfirmStatus, dto.getConfirmStatus());
|
|
|
|
|
|
//时间范围过滤
|
|
|
- wrapper.ge("arw", AccountRunningWater::getTransactionTime, dto.getBeginTime());
|
|
|
- wrapper.le("arw", AccountRunningWater::getTransactionTime, dto.getEndTime());
|
|
|
+ wrapper.ge("cl", Claim::getTransactionTime, dto.getBeginTime());
|
|
|
+ wrapper.le("cl", Claim::getTransactionTime, dto.getEndTime());
|
|
|
|
|
|
if (ObjectUtils.isNotEmpty(dto.getKeyword())) {
|
|
|
List<SysDept> deptList = deptService.list(IWrapper.<SysDept>getWrapper().keyword(dto.getKeyword(), new SqlField(SysDept::getDeptName)));
|
|
@@ -286,51 +291,51 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
|
|
|
List<SysUser> userList = userService.list(IWrapper.<SysUser>getWrapper().keyword(dto.getKeyword(), new SqlField(SysUser::getNickName)));
|
|
|
List<Long> userIds = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
|
|
|
wrapper.and(q -> q
|
|
|
- .like("arw", AccountRunningWater::getAmount, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getTransactionTime, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getSerialNumber, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getRemarks, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getName, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getAccountOpening, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getOpeningBank, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getMyAccountName, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getMyAccountOpening, dto.getKeyword())
|
|
|
- .or().like("arw", AccountRunningWater::getMyOpeningBank, dto.getKeyword())
|
|
|
- .or(ObjectUtils.isNotEmpty(deptIds)).in(ObjectUtils.isNotEmpty(deptIds), "arw.company_id", deptIds)
|
|
|
- .or(ObjectUtils.isNotEmpty(deptIds)).in(ObjectUtils.isNotEmpty(deptIds), "arw.dept_id", deptIds)
|
|
|
- .or(ObjectUtils.isNotEmpty(userIds)).in(ObjectUtils.isNotEmpty(userIds), "arw.create_user", userIds)
|
|
|
- .or(ObjectUtils.isNotEmpty(userIds)).in(ObjectUtils.isNotEmpty(userIds), "arw.register_user_id", userIds)
|
|
|
+ .like("cl", Claim::getAmount, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getTransactionTime, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getSerialNumber, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getRemark, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getName, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getAccountOpening, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getOpeningBank, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getMyAccountName, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getMyAccountOpening, dto.getKeyword())
|
|
|
+ .or().like("cl", Claim::getMyOpeningBank, dto.getKeyword())
|
|
|
+ .or(ObjectUtils.isNotEmpty(deptIds)).in(ObjectUtils.isNotEmpty(deptIds), "cl.company_id", deptIds)
|
|
|
+ .or(ObjectUtils.isNotEmpty(deptIds)).in(ObjectUtils.isNotEmpty(deptIds), "cl.dept_id", deptIds)
|
|
|
+ .or(ObjectUtils.isNotEmpty(userIds)).in(ObjectUtils.isNotEmpty(userIds), "cl.create_user", userIds)
|
|
|
+// .or(ObjectUtils.isNotEmpty(userIds)).in(ObjectUtils.isNotEmpty(userIds), "cl.register_user_id", userIds)
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- Page<AccountRunningWaterVo> page = baseMapper.claimInfoPage(dto.getPage(), wrapper);
|
|
|
- List<AccountRunningWaterVo> records = page.getRecords();
|
|
|
+ Page<ClaimVo> page = baseMapper.claimInfoPage(dto.getPage(), wrapper);
|
|
|
+ List<ClaimVo> records = page.getRecords();
|
|
|
if (ObjectUtils.isEmpty(records)) {
|
|
|
return page;
|
|
|
}
|
|
|
- List<Long> arwIds = records.stream().map(AccountRunningWater::getId).collect(Collectors.toList());
|
|
|
+ List<Long> arwIds = records.stream().map(Claim::getId).collect(Collectors.toList());
|
|
|
|
|
|
Map<Long, List<ClaimContractVo>> collect = new HashMap<>();
|
|
|
- List<ClaimContractVo> claimContractVoList = claimContractService.getList(IWrapper.<ClaimContract>getWrapper().in("cl", ClaimContract::getBusinessId, arwIds));
|
|
|
+ List<ClaimContractVo> claimContractVoList = claimContractService.getList(IWrapper.<ClaimContract>getWrapper().in("cc", ClaimContract::getClaimId, arwIds));
|
|
|
if (ObjectUtils.isNotEmpty(claimContractVoList)) {
|
|
|
- collect = claimContractVoList.stream().collect(Collectors.groupingBy(ClaimContract::getBusinessId));
|
|
|
+ collect = claimContractVoList.stream().collect(Collectors.groupingBy(ClaimContract::getClaimId));
|
|
|
}
|
|
|
|
|
|
//赋值登记人
|
|
|
- UserUtil.assignmentNickName(records, AccountRunningWaterVo::getRegisterUserId, AccountRunningWaterVo::setRegisterUserName);
|
|
|
- UserUtil.assignmentNickName(records, AccountRunningWaterVo::getCreateUser, AccountRunningWaterVo::setCreateUserName);
|
|
|
+ UserUtil.assignmentNickName(records, Claim::getCreateUser, ClaimVo::setRegisterUserName);
|
|
|
+ UserUtil.assignmentNickName(records, Claim::getCreateUser, ClaimVo::setCreateUserName);
|
|
|
|
|
|
List<SysDept> deptList = deptService.list();
|
|
|
Map<Long, String> deptMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
|
|
|
|
|
|
- for (AccountRunningWaterVo record : records) {
|
|
|
+ for (ClaimVo record : records) {
|
|
|
//业务公司
|
|
|
record.setCompanyName(deptMap.get(record.getCompanyId()));
|
|
|
//业务部门
|
|
|
record.setDeptName(deptMap.get(record.getDeptId()));
|
|
|
}
|
|
|
|
|
|
- for (AccountRunningWaterVo record : records) {
|
|
|
+ for (ClaimVo record : records) {
|
|
|
record.setClaimContractList(collect.get(record.getId()));
|
|
|
}
|
|
|
return page;
|