入库费用登记查询

This commit is contained in:
秦鸿展
2026-05-15 14:10:43 +08:00
parent 20e47e8cc4
commit 16fd402975
8 changed files with 110 additions and 3 deletions
@@ -376,4 +376,39 @@ public class SettlementCustomersApplicationService {
}
return null;
}
/**
* 按结算主体ID(如货主用户ID,对应 settlement_entity_id)取一条结算对象,用于解析合同上的 settlement_customers_code。
* 多条时按 settlement_customers_id 升序取第一条。
*
* @param settlementEntityId 结算主体id,不可为空
* @param topOrganizationId 一级组织;为空则从当前登录用户取
*/
public SettlementCustomersPO getFirstBySettlementEntityId(Long settlementEntityId, Long topOrganizationId) {
if (settlementEntityId == null) {
return null;
}
Long topOrg = topOrganizationId;
if (topOrg == null) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null && loginUser.getUserPo() != null) {
topOrg = loginUser.getUserPo().getTopOrganizationId();
}
}
LambdaQueryWrapper<SettlementCustomers> wrapper = new LambdaQueryWrapper<SettlementCustomers>()
.eq(SettlementCustomers::getSettlementEntityId, settlementEntityId)
.eq(SettlementCustomers::getDelFlag, 1)
.orderByAsc(SettlementCustomers::getSettlementCustomersId)
.last("LIMIT 1");
if (topOrg != null) {
wrapper.eq(SettlementCustomers::getTopOrganizationId, topOrg);
}
SettlementCustomers entity = settlementCustomersMapper.selectOne(wrapper);
if (entity == null) {
return null;
}
SettlementCustomersPO po = new SettlementCustomersPO();
BeanUtils.copyProperties(entity, po);
return po;
}
}
@@ -123,6 +123,21 @@ public class SettlementCustomersApi extends BaseController{
return AjaxResult.success(settlementCustomersApplicationService.getInfoByCode(settlementCustomersCode));
}
/**
* 按结算主体ID(货主等业务主体ID,对应 settlement_entity_id)查询一条结算对象
*/
@ApiOperation("按结算主体ID查询结算对象")
@GetMapping(value = "/getInfoBySettlementEntityId")
public AjaxResult getInfoBySettlementEntityId(
@RequestParam(value = "settlementEntityId", required = false) Long settlementEntityId,
@RequestParam(value = "topOrganizationId", required = false) Long topOrganizationId) {
if (settlementEntityId == null) {
return AjaxResult.error("缺少必传查询参数 settlementEntityId(货主/结算主体ID,对应 settlement_entity_id)。"
+ "GET 请求示例:/settlementCustomersApi/getInfoBySettlementEntityId?settlementEntityId=123456&topOrganizationId=你的租户一级组织ID");
}
return AjaxResult.success(settlementCustomersApplicationService.getFirstBySettlementEntityId(settlementEntityId, topOrganizationId));
}