调整收付款问题
This commit is contained in:
+9
@@ -28,6 +28,7 @@ import org.springblade.transport.pojo.vo.FormalSettlementVO;
|
|||||||
import org.springblade.transport.pojo.vo.PreSettlementVO;
|
import org.springblade.transport.pojo.vo.PreSettlementVO;
|
||||||
import org.springblade.transport.service.IFormalSettlementService;
|
import org.springblade.transport.service.IFormalSettlementService;
|
||||||
import org.springblade.transport.service.IPreSettlementService;
|
import org.springblade.transport.service.IPreSettlementService;
|
||||||
|
import org.springblade.transport.service.IReceiptFlowService;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@@ -51,6 +52,7 @@ import java.util.Map;
|
|||||||
public class FormalSettlementController extends BladeController {
|
public class FormalSettlementController extends BladeController {
|
||||||
private final IFormalSettlementService formalSettlementService;
|
private final IFormalSettlementService formalSettlementService;
|
||||||
private final IPreSettlementService preSettlementService;
|
private final IPreSettlementService preSettlementService;
|
||||||
|
private final IReceiptFlowService receiptFlowService;
|
||||||
|
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
@ApiOperationSupport(order = 1)
|
@ApiOperationSupport(order = 1)
|
||||||
@@ -166,4 +168,11 @@ public class FormalSettlementController extends BladeController {
|
|||||||
public R<List<String>> applyPayments(@RequestBody FormalSettlementBatchPaymentRequest request) {
|
public R<List<String>> applyPayments(@RequestBody FormalSettlementBatchPaymentRequest request) {
|
||||||
return R.data(formalSettlementService.applyPayments(request));
|
return R.data(formalSettlementService.applyPayments(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/receipt-claims")
|
||||||
|
@ApiOperationSupport(order = 19)
|
||||||
|
@Operation(summary = "应收正式结算单收款认领信息")
|
||||||
|
public R<List<Map<String, Object>>> receiptClaims(@RequestParam Long formalSettlementId) {
|
||||||
|
return R.data(receiptFlowService.settlementClaims(formalSettlementId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -48,6 +48,8 @@ public interface IReceiptFlowService extends BaseService<KingdeeReceiptFlow> {
|
|||||||
|
|
||||||
List<Map<String, Object>> settlementCandidates(String keyword, Long flowId);
|
List<Map<String, Object>> settlementCandidates(String keyword, Long flowId);
|
||||||
|
|
||||||
|
List<Map<String, Object>> settlementClaims(Long formalSettlementId);
|
||||||
|
|
||||||
Long claim(ReceiptClaimRequest request);
|
Long claim(ReceiptClaimRequest request);
|
||||||
|
|
||||||
int sync(ReceiptFlowSyncRequest request);
|
int sync(ReceiptFlowSyncRequest request);
|
||||||
|
|||||||
+1
@@ -183,6 +183,7 @@ public class PreSettlementServiceImpl extends BaseServiceImpl<PreSettlementMappe
|
|||||||
public PreSettlementVO detail(Long id) {
|
public PreSettlementVO detail(Long id) {
|
||||||
PreSettlement settlement = loadExisting(id);
|
PreSettlement settlement = loadExisting(id);
|
||||||
PreSettlementVO vo = PreSettlementWrapper.build().entityVO(settlement);
|
PreSettlementVO vo = PreSettlementWrapper.build().entityVO(settlement);
|
||||||
|
fillPaymentApplicationAmounts(List.of(vo));
|
||||||
List<PreSettlementDetail> details = listDetails(id);
|
List<PreSettlementDetail> details = listDetails(id);
|
||||||
vo.setDetails(details);
|
vo.setDetails(details);
|
||||||
List<Long> detailIds = details.stream().map(PreSettlementDetail::getId).toList();
|
List<Long> detailIds = details.stream().map(PreSettlementDetail::getId).toList();
|
||||||
|
|||||||
+50
@@ -151,6 +151,56 @@ public class ReceiptFlowServiceImpl extends BaseServiceImpl<KingdeeReceiptFlowMa
|
|||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> settlementClaims(Long formalSettlementId) {
|
||||||
|
if (formalSettlementId == null) {
|
||||||
|
throw new ServiceException("正式结算单ID不能为空");
|
||||||
|
}
|
||||||
|
FormalSettlement settlement = formalSettlementMapper.selectById(formalSettlementId);
|
||||||
|
if (settlement == null || Objects.equals(settlement.getIsDeleted(), 1)) {
|
||||||
|
throw new ServiceException("正式结算单不存在");
|
||||||
|
}
|
||||||
|
List<ReceiptClaimSettlement> relations = claimSettlementMapper.selectList(
|
||||||
|
Wrappers.<ReceiptClaimSettlement>lambdaQuery()
|
||||||
|
.eq(ReceiptClaimSettlement::getFormalSettlementId, formalSettlementId)
|
||||||
|
.eq(ReceiptClaimSettlement::getStatus, 1)
|
||||||
|
.orderByDesc(ReceiptClaimSettlement::getCreateTime));
|
||||||
|
if (relations.isEmpty()) {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
List<Long> claimIds = relations.stream().map(ReceiptClaimSettlement::getReceiptClaimId)
|
||||||
|
.filter(Objects::nonNull).distinct().toList();
|
||||||
|
List<Long> flowIds = relations.stream().map(ReceiptClaimSettlement::getReceiptFlowId)
|
||||||
|
.filter(Objects::nonNull).distinct().toList();
|
||||||
|
Map<Long, ReceiptClaim> claims = claimIds.isEmpty() ? Map.of() : claimMapper.selectBatchIds(claimIds)
|
||||||
|
.stream().collect(Collectors.toMap(ReceiptClaim::getId, Function.identity()));
|
||||||
|
Map<Long, KingdeeReceiptFlow> flows = flowIds.isEmpty() ? Map.of() : listByIds(flowIds)
|
||||||
|
.stream().collect(Collectors.toMap(KingdeeReceiptFlow::getId, Function.identity()));
|
||||||
|
return relations.stream().map(relation -> {
|
||||||
|
ReceiptClaim claim = claims.get(relation.getReceiptClaimId());
|
||||||
|
KingdeeReceiptFlow flow = flows.get(relation.getReceiptFlowId());
|
||||||
|
if (claim == null || flow == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Map<String, Object> row = new LinkedHashMap<>();
|
||||||
|
row.put("receiptClaimId", claim.getId());
|
||||||
|
row.put("receiptFlowId", flow.getId());
|
||||||
|
row.put("receiptNoticeNo", flow.getReceiptNoticeNo());
|
||||||
|
row.put("payerName", flow.getPayerName());
|
||||||
|
row.put("receiptAmount", money(flow.getReceiptAmount()));
|
||||||
|
row.put("allocatedReceiptAmount", money(relation.getAllocatedReceiptAmount()));
|
||||||
|
row.put("transactionTime", flow.getTransactionTime());
|
||||||
|
row.put("counterpartyName", flow.getCounterpartyName());
|
||||||
|
row.put("detailSerialNo", flow.getDetailSerialNo());
|
||||||
|
row.put("claimerName", claim.getClaimerName());
|
||||||
|
row.put("claimerDeptName", claim.getClaimerDeptName());
|
||||||
|
row.put("claimDate", claim.getClaimDate());
|
||||||
|
row.put("claimStatus", claim.getClaimStatus());
|
||||||
|
row.put("claimStatusName", CLAIMED.equals(claim.getClaimStatus()) ? "已认领" : "已作废");
|
||||||
|
return row;
|
||||||
|
}).filter(Objects::nonNull).toList();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Long claim(ReceiptClaimRequest request) {
|
public Long claim(ReceiptClaimRequest request) {
|
||||||
|
|||||||
Reference in New Issue
Block a user