结算问题修复

This commit is contained in:
hongchao 2025-09-11 11:37:12 +08:00
parent 53f5e35bbf
commit 0284f8fc0f
9 changed files with 35 additions and 24 deletions

View File

@ -157,23 +157,23 @@ public class IwsCostPushServiceImpl implements IwsCostPushService {
List<PeriodCostSummaryVo> unsettlementEquipmentLeaseCosts = sltAgreementInfoService.selectPeriodCostSummary(new PeriodCostQueryDto() List<PeriodCostSummaryVo> unsettlementEquipmentLeaseCosts = sltAgreementInfoService.selectPeriodCostSummary(new PeriodCostQueryDto()
.setAgreementIds(unsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(unsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartDate(firstDate).setEndDate(lastDate) .setStartDate(firstDate).setEndDate(lastDate)
.setSltManageType((byte) 1) .setSltManageType(1)
); );
List<PeriodCostResultVo> unsettlementEquipmentLeaseCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto() List<PeriodCostResultVo> unsettlementEquipmentLeaseCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto()
.setAgreementIds(unsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(unsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartDate(firstDate).setEndDate(lastDate) .setStartDate(firstDate).setEndDate(lastDate)
.setSltManageType((byte) 1) .setSltManageType(1)
); );
// 计算未结算协议 ---- 安全工器具租赁费用info列表及details明细 // 计算未结算协议 ---- 安全工器具租赁费用info列表及details明细
List<PeriodCostSummaryVo> unsettlementSafetyEquipmentLeaseCosts = sltAgreementInfoService.selectPeriodCostSummary(new PeriodCostQueryDto() List<PeriodCostSummaryVo> unsettlementSafetyEquipmentLeaseCosts = sltAgreementInfoService.selectPeriodCostSummary(new PeriodCostQueryDto()
.setAgreementIds(safetyUnsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(safetyUnsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartDate(firstDate).setEndDate(lastDate) .setStartDate(firstDate).setEndDate(lastDate)
.setSltManageType((byte) 2) .setSltManageType(2)
); );
List<PeriodCostResultVo> unsettlementSafetyEquipmentLeaseCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto() List<PeriodCostResultVo> unsettlementSafetyEquipmentLeaseCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto()
.setAgreementIds(safetyUnsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(safetyUnsettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartDate(firstDate).setEndDate(lastDate) .setStartDate(firstDate).setEndDate(lastDate)
.setSltManageType((byte) 2) .setSltManageType(2)
); );
/// ------------------ 未结算协议费用计算结束 -------------------- /// ------------------ 未结算协议费用计算结束 --------------------
@ -190,14 +190,14 @@ public class IwsCostPushServiceImpl implements IwsCostPushService {
.setAgreementIds(settlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(settlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartTime(firstDate) .setStartTime(firstDate)
.setEndTime(lastDate) .setEndTime(lastDate)
.setSettlementType((byte) 1) .setSettlementType(1)
); );
// 获取已结算协议 ---- 工器具本月租赁的区间费用明细 // 获取已结算协议 ---- 工器具本月租赁的区间费用明细
settlementEquipmentCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto() settlementEquipmentCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto()
.setAgreementIds(settlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(settlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setSettlementStatus("2") .setSettlementStatus("2")
.setStartDate(firstDate).setEndDate(lastDate) .setStartDate(firstDate).setEndDate(lastDate)
.setSltManageType((byte) 1) .setSltManageType(1)
); );
// 把区间计算的租赁费用覆盖已结算的用作展示 // 把区间计算的租赁费用覆盖已结算的用作展示
for (SltAgreementInfo item : settlementEquipmentCosts) { for (SltAgreementInfo item : settlementEquipmentCosts) {
@ -221,7 +221,7 @@ public class IwsCostPushServiceImpl implements IwsCostPushService {
.setAgreementIds(safetySettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList())) .setAgreementIds(safetySettlementAgreementList.stream().map(IwsCostPushBean::getAgreementId).collect(Collectors.toList()))
.setStartTime(firstDate) .setStartTime(firstDate)
.setEndTime(lastDate) .setEndTime(lastDate)
.setSettlementType((byte) 2) .setSettlementType(2)
); );
// 获取已结算协议 ---- 安全工器具的本月租赁区间费用明细 // 获取已结算协议 ---- 安全工器具的本月租赁区间费用明细
settlementSafetyEquipmentCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto() settlementSafetyEquipmentCostsDetails = sltAgreementInfoService.selectPeriodCostList(new PeriodCostQueryDto()
@ -229,7 +229,7 @@ public class IwsCostPushServiceImpl implements IwsCostPushService {
.setSettlementStatus("2") .setSettlementStatus("2")
.setStartDate(firstDate) .setStartDate(firstDate)
.setEndDate(lastDate) .setEndDate(lastDate)
.setSltManageType((byte) 2) .setSltManageType(2)
); );
// 把区间计算的租赁费用覆盖已结算的用作展示 // 把区间计算的租赁费用覆盖已结算的用作展示
for (SltAgreementInfo item : settlementSafetyEquipmentCosts) { for (SltAgreementInfo item : settlementSafetyEquipmentCosts) {

View File

@ -104,7 +104,7 @@ public class SltAgreementInfoController extends BaseController {
ListPagingUtil paginated = ListPagingUtil.paging(pageIndex, pageSize, list); ListPagingUtil paginated = ListPagingUtil.paging(pageIndex, pageSize, list);
// 新增外层计算-- 计算当前分页数据的各条目费用 // 新增外层计算-- 计算当前分页数据的各条目费用
if (CollectionUtils.isNotEmpty(paginated.getRows())) { if (CollectionUtils.isNotEmpty(paginated.getRows())) {
byte loginUserHasSettlementPermission = sltAgreementInfoService.checkLoginUserHasSettlementPermission(); int loginUserHasSettlementPermission = sltAgreementInfoService.checkLoginUserHasSettlementPermission();
for (Object row : paginated.getRows()) { for (Object row : paginated.getRows()) {
if (row instanceof SltAgreementInfo) { if (row instanceof SltAgreementInfo) {
((SltAgreementInfo) row).setSettlementType(loginUserHasSettlementPermission); ((SltAgreementInfo) row).setSettlementType(loginUserHasSettlementPermission);
@ -150,7 +150,7 @@ public class SltAgreementInfoController extends BaseController {
return AjaxResult.error("请选择协议"); return AjaxResult.error("请选择协议");
} }
if (list.get(0).getSettlementType() == null || list.get(0).getSettlementType() < 1) { if (list.get(0).getSettlementType() == null || list.get(0).getSettlementType() < 1) {
Byte settlementType = sltAgreementInfoService.checkLoginUserHasSettlementPermission(); int settlementType = sltAgreementInfoService.checkLoginUserHasSettlementPermission();
// 设置结算权限 // 设置结算权限
list.forEach(info -> info.setSettlementType(settlementType)); list.forEach(info -> info.setSettlementType(settlementType));
} else { } else {
@ -1539,7 +1539,7 @@ public class SltAgreementInfoController extends BaseController {
log.info("查询到未结算协议数量: {}", list.size()); log.info("查询到未结算协议数量: {}", list.size());
// ----------- 给查询出来的协议设置权限控制例如只查询工器具 --------------- // ----------- 给查询出来的协议设置权限控制例如只查询工器具 ---------------
Byte settlementType = sltAgreementInfoService.checkLoginUserHasSettlementPermission(); int settlementType = sltAgreementInfoService.checkLoginUserHasSettlementPermission();
// --------- 拿到list中所有的agreementId存成集合给每个info赋值 ------------------ // --------- 拿到list中所有的agreementId存成集合给每个info赋值 ------------------
List<Long> agreementIdsArray = list.stream() List<Long> agreementIdsArray = list.stream()

View File

@ -130,7 +130,7 @@ public class SltAgreementInfo extends BaseEntity {
private Date sltTime; private Date sltTime;
/** 结算类型 1工器具 2安全工器具 */ /** 结算类型 1工器具 2安全工器具 */
private Byte settlementType; private Integer settlementType;
/** $column.columnComment */ /** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")

View File

@ -59,7 +59,7 @@ public class PeriodCostQueryDto {
private String projectName; private String projectName;
@ApiModelProperty(value = "结算管理类型 1工器具 2安全工器具") @ApiModelProperty(value = "结算管理类型 1工器具 2安全工器具")
private Byte sltManageType; private Integer sltManageType;
@ApiModelProperty(value = "数据所属组织ID") @ApiModelProperty(value = "数据所属组织ID")
private Long companyId; private Long companyId;

View File

@ -128,7 +128,7 @@ public class SltInfoVo {
/** /**
* 结算物资类型 1工器具 2安全工器具 * 结算物资类型 1工器具 2安全工器具
*/ */
private Byte settlementType; private Integer settlementType;
@ApiModelProperty(value = "申请时间") @ApiModelProperty(value = "申请时间")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")

View File

@ -37,7 +37,7 @@ public interface SltAgreementInfoMapper {
* @param agreementId 协议id * @param agreementId 协议id
* @return 条数 * @return 条数
*/ */
int selectTheSettledCountByAgreementIdType(@Param("sltType") Byte sltType, @Param("agreementId") Long agreementId); int selectTheSettledCountByAgreementIdType(@Param("sltType") Integer sltType, @Param("agreementId") Long agreementId);
/** /**
* 查询结算信息列表 * 查询结算信息列表

View File

@ -53,7 +53,7 @@ public interface ISltAgreementInfoService {
* 检查登陆用户是否有结算权限 * 检查登陆用户是否有结算权限
* @return 管理的结算类型码 * @return 管理的结算类型码
*/ */
byte checkLoginUserHasSettlementPermission(); int checkLoginUserHasSettlementPermission();
List<SltAgreementApply> getSltExam(SltAgreementInfo bean); List<SltAgreementApply> getSltExam(SltAgreementInfo bean);

View File

@ -66,10 +66,10 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
private static final String SAFETY_EQUIPMENT_COST_USERS = "safety_equipment_cost_users"; private static final String SAFETY_EQUIPMENT_COST_USERS = "safety_equipment_cost_users";
// 工器具结算类型settlement_type键值 // 工器具结算类型settlement_type键值
private static final Byte EQUIPMENT_SETTLEMENT_TYPE = (byte) GlobalConstants.INT_1; private static final int EQUIPMENT_SETTLEMENT_TYPE = GlobalConstants.INT_1;
// 安全工器具结算类型settlement_type键值 // 安全工器具结算类型settlement_type键值
private static final Byte SAFETY_EQUIPMENT_SETTLEMENT_TYPE = (byte) GlobalConstants.INT_2; private static final int SAFETY_EQUIPMENT_SETTLEMENT_TYPE = GlobalConstants.INT_2;
@Autowired @Autowired
private SltAgreementInfoMapper sltAgreementInfoMapper; private SltAgreementInfoMapper sltAgreementInfoMapper;
@ -623,12 +623,12 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int submitCosts(@NotNull(message = "结算信息不能为空") SltInfoVo sltInfoVo) { public int submitCosts(@NotNull(message = "结算信息不能为空") SltInfoVo sltInfoVo) {
// 检查登录用户是否有结算权限 // 检查登录用户是否有结算权限
byte loginUserSettlementTypePermission = this.checkLoginUserHasSettlementPermission(); int loginUserSettlementTypePermission = this.checkLoginUserHasSettlementPermission();
sltInfoVo.setSettlementType(loginUserSettlementTypePermission); sltInfoVo.setSettlementType(loginUserSettlementTypePermission);
if (sltInfoVo.getSettlementType() == null) { if (sltInfoVo.getSettlementType() == null) {
throw new ServiceException("结算类型错误,结算权限码为空"); throw new ServiceException("结算类型错误,结算权限码为空");
} }
if (!sltInfoVo.getSettlementType().equals(EQUIPMENT_SETTLEMENT_TYPE) && !sltInfoVo.getSettlementType().equals(SAFETY_EQUIPMENT_SETTLEMENT_TYPE)) { if (sltInfoVo.getSettlementType()!=EQUIPMENT_SETTLEMENT_TYPE && sltInfoVo.getSettlementType()!=SAFETY_EQUIPMENT_SETTLEMENT_TYPE) {
throw new ServiceException("结算类型错误,结算权限码不合法!"); throw new ServiceException("结算类型错误,结算权限码不合法!");
} }
try { try {
@ -769,7 +769,7 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
* @return 结算类型值 * @return 结算类型值
*/ */
@Override @Override
public byte checkLoginUserHasSettlementPermission() { public int checkLoginUserHasSettlementPermission() {
// 查询当前登陆用户信息 // 查询当前登陆用户信息
Long theLoginUserId = SecurityUtils.getLoginUser().getSysUser().getUserId(); Long theLoginUserId = SecurityUtils.getLoginUser().getSysUser().getUserId();
@ -800,7 +800,18 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
*/ */
@Override @Override
public List<SltAgreementInfo> getSltList(SltAgreementInfo bean) { public List<SltAgreementInfo> getSltList(SltAgreementInfo bean) {
return sltAgreementInfoMapper.getSltList(bean); List<SltAgreementInfo> list = sltAgreementInfoMapper.getSltList(bean);
if (CollectionUtils.isNotEmpty(list)) {
for (SltAgreementInfo row : list){
SltInfoVo sltInfoVo = null;
sltInfoVo = getSltInfo(row);
if (sltInfoVo != null) {
row.setCosts(sum(sltInfoVo.getLeaseCost(), sltInfoVo.getRepairCost(), sltInfoVo.getScrapCost(), sltInfoVo.getLoseCost()));
}
}
}
return list;
} }
/** /**
@ -1153,7 +1164,7 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
try { try {
if (queryDto.getSltManageType() == null) { if (queryDto.getSltManageType() == null) {
// 查询当前登陆用户的结算管理权限 // 查询当前登陆用户的结算管理权限
Byte settlementType = this.checkLoginUserHasSettlementPermission(); int settlementType = this.checkLoginUserHasSettlementPermission();
queryDto.setSltManageType(settlementType); queryDto.setSltManageType(settlementType);
} }

View File

@ -110,7 +110,7 @@ public interface TmTaskMapper {
* @param agreementId * @param agreementId
* @return * @return
*/ */
TmTask selectTaskById(@Param("agreementId") Long agreementId, @Param("settlementType") Byte settlementType); TmTask selectTaskById(@Param("agreementId") Long agreementId, @Param("settlementType") Integer settlementType);
/** /**
* 根据协议id查询申请时间 * 根据协议id查询申请时间