Browse Source

获取费用申请相关的预算项使用合计

v1.0
Yen 2 years ago
parent
commit
c104a4bb8c
  1. 6
      src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java
  2. 3
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  3. 42
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  4. 59
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsBudgetScheduleWithAmount.java
  5. 23
      src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsCostBudgetRelateInfo.java
  6. 29
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java
  7. 8
      src/main/java/com/qs/serve/modules/tbs/service/TbsScheduleItemBudgetService.java
  8. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java
  9. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java
  10. 77
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java
  11. 75
      src/main/resources/mapper/tbs/TbsScheduleItemBudgetMapper.xml

6
src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java

@ -74,7 +74,11 @@ public enum BudgetLogOptFlag {
*/ */
private boolean addBudget; private boolean addBudget;
private final static List<Integer> finalBudgetOptFlag = new ArrayList<>(Arrays.asList(0, 2, 3)); private final static List<Integer> finalBudgetOptFlag = Arrays.asList(0, 2, 3);
public final static List<Integer> finalCostOptFlag = Arrays.asList(1,4,5,6);
public final static List<Integer> finalPolicyOptFlag = Arrays.asList(11,12,13,14,15);
/** /**
* 预算规划状态023新增调增调减 * 预算规划状态023新增调增调减

3
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -31,6 +31,7 @@ import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -94,7 +95,7 @@ public class TbsBudgetController {
List<Long> scheduleItemBudgetIds = scheduleItemBudgetList.stream() List<Long> scheduleItemBudgetIds = scheduleItemBudgetList.stream()
.map(TbsScheduleItemBudget::getId).collect(Collectors.toList()); .map(TbsScheduleItemBudget::getId).collect(Collectors.toList());
//实际发布预算 //实际发布预算
List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getAllByScheduleItemIdList(scheduleItemBudgetIds); List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getSumAmtInList(scheduleItemBudgetIds, Arrays.asList(0,2,3));
for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) { for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) {
for (TbsBudgetLogWithAmount withAmount : budgetLogWithAmountList) { for (TbsBudgetLogWithAmount withAmount : budgetLogWithAmountList) {
if (itemBudget.getId().equals(withAmount.getId())){ if (itemBudget.getId().equals(withAmount.getId())){

42
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -29,6 +29,8 @@ import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.entity.bo.*;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetScheduleWithAmount;
import com.qs.serve.modules.tbs.entity.dto.TbsCostBudgetRelateInfo;
import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetTableVo;
import com.qs.serve.modules.tbs.entity.vo.TbsCostApplyVo; import com.qs.serve.modules.tbs.entity.vo.TbsCostApplyVo;
@ -72,10 +74,13 @@ public class TbsCostApplyController {
private BmsRegion2Service region2Service; private BmsRegion2Service region2Service;
private SysUserService sysUserService; private SysUserService sysUserService;
private TbsBudgetApplicationService budgetApplicationService; private TbsBudgetApplicationService budgetApplicationService;
private TbsBudgetService tbsBudgetService;
private SysPostUserService postUserService; private SysPostUserService postUserService;
private TbsCostApplyOperationServiceImpl tbsCostApplyOperationServiceImpl; private TbsCostApplyOperationServiceImpl tbsCostApplyOperationServiceImpl;
private TbsBudgetMatchApplication tbsBudgetMatchApplication; private TbsBudgetMatchApplication tbsBudgetMatchApplication;
private TbsBudgetCostItemService tbsBudgetCostItemService; private TbsBudgetCostItemService tbsBudgetCostItemService;
private TbsBudgetLogService tbsBudgetLogService;
private TbsScheduleItemBudgetService tbsScheduleItemBudgetService;
/** /**
@ -447,5 +452,42 @@ public class TbsCostApplyController {
return R.isTrue(result); return R.isTrue(result);
} }
/**
* 获取费用申请相关的预算项使用合计
* @return
*/
@GetMapping("/listBudgetInfo")
public R<List<TbsCostBudgetRelateInfo>> listBudgetInfo(String costApplyId){
LambdaQueryWrapper<TbsBudgetLog> loadCostLogLqw = new LambdaQueryWrapper<>();
loadCostLogLqw.eq(TbsBudgetLog::getCostApplyId,costApplyId);
List<TbsBudgetLog> costApplyBudgetLogs = tbsBudgetLogService.list(loadCostLogLqw);
List<Long> budgetIds = costApplyBudgetLogs.stream().map(TbsBudgetLog::getBudgetId).distinct().collect(Collectors.toList());
List<TbsCostBudgetRelateInfo> resultInfoList = new ArrayList<>();
for (Long budgetId : budgetIds) {
TbsBudget budget = tbsBudgetService.getById(budgetId);
LambdaQueryWrapper<TbsScheduleItemBudget> scheduleLqw = new LambdaQueryWrapper<>();
scheduleLqw.eq(TbsScheduleItemBudget::getBudgetId,budgetId);
List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetService.list(scheduleLqw);
List<Long> scheduleItemBudgetIds = scheduleItemBudgetList.stream().map(TbsScheduleItemBudget::getId).collect(Collectors.toList());
List<TbsBudgetScheduleWithAmount> amountList = tbsScheduleItemBudgetService.listScheduleAmountByIds(scheduleItemBudgetIds);
List<TbsCostBudgetRelateInfo> relateInfoList = amountList.stream().map(obj->{
TbsCostBudgetRelateInfo info = CopierUtil.copy(obj,new TbsCostBudgetRelateInfo());
info.setBudgetCode(budget.getBudgetNumber());
info.setBudgetTitle(budget.getBudgetCode());
return info;
}).collect(Collectors.toList());
for (TbsCostBudgetRelateInfo info : relateInfoList) {
for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) {
if(info.getScheduleItemBudgetId().equals(itemBudget.getId())){
info.setScheduleName(itemBudget.getItemName());
break;
}
}
}
resultInfoList.addAll(relateInfoList);
}
return R.ok(resultInfoList);
}
} }

59
src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsBudgetScheduleWithAmount.java

@ -0,0 +1,59 @@
package com.qs.serve.modules.tbs.entity.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author YenHex
* @since 2023/6/29
*/
@Data
public class TbsBudgetScheduleWithAmount {
/**
* 预算项的周期ID
*/
Long scheduleItemBudgetId;
/**
* 预算总额
*/
BigDecimal finalAmt = BigDecimal.ZERO;
/**
* 当前占用中的预算
*/
BigDecimal allUsingAmt = BigDecimal.ZERO;
/**
* 申请中的预算占用
*/
BigDecimal allCheckingAmt = BigDecimal.ZERO;
/**
* 费用申请-申请中的预算
*/
BigDecimal costUsingAmt = BigDecimal.ZERO;
/**
* 费用申请-申请中的预算
*/
BigDecimal costCheckingAmt = BigDecimal.ZERO;
/**
* 政策-申请中的预算
*/
BigDecimal policyUsingAmt = BigDecimal.ZERO;
/**
* 政策-申请中的预算
*/
BigDecimal policyCheckingAmt = BigDecimal.ZERO;
/**
* 剩余预算(预算总额-当前占用的预算)
*/
BigDecimal surplusAmt = BigDecimal.ZERO;
}

23
src/main/java/com/qs/serve/modules/tbs/entity/dto/TbsCostBudgetRelateInfo.java

@ -0,0 +1,23 @@
package com.qs.serve.modules.tbs.entity.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author YenHex
* @since 2023/11/20
*/
@Data
public class TbsCostBudgetRelateInfo extends TbsBudgetScheduleWithAmount{
/** 预算编码 */
String budgetCode;
/** 预算名称 */
String budgetTitle;
/** 周期名称 */
String scheduleName;
}

29
src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java

@ -147,12 +147,37 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper<TbsScheduleItemB
Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(@Param("sourceId")Long sourceId, @Param("targetId")Long targetId); Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(@Param("sourceId")Long sourceId, @Param("targetId")Long targetId);
/** /**
* 统计设置金额 * 统计Schedule金额
* @param ids scheduleItemBudgetIds
* @param optNumbers 包含
* @return
*/
List<TbsBudgetLogWithAmount> getSumAmtInList(@Param("selectIds") List<Long> ids,@Param("optNumbers")List<Integer> optNumbers);
/**
* 统计Schedule金额
* @param ids scheduleItemBudgetIds
* @param optNumbers 不包含
* @return
*/
List<TbsBudgetLogWithAmount> getSumAmtNotInList(@Param("selectIds") List<Long> ids,@Param("optNumbers")List<Integer> optNumbers);
/**
* 统计审批中的费用占用多少的预算
* @param ids * @param ids
* @param optNumbers
* @return * @return
*/ */
List<TbsBudgetLogWithAmount> getAllByScheduleItemIdList(@Param("selectIds") List<Long> ids); List<TbsBudgetLogWithAmount> getCostCheckingList(@Param("selectIds") List<Long> ids,@Param("optNumbers")List<Integer> optNumbers);
/**
* 统计审批中的政策占用多少的预算
* @param ids
* @param optNumbers
* @return
*/
List<TbsBudgetLogWithAmount> getPolicyCheckingList(@Param("selectIds") List<Long> ids,@Param("optNumbers")List<Integer> optNumbers);
@InterceptorIgnore(tenantLine = "true") @InterceptorIgnore(tenantLine = "true")
@Select(" SELECT tsib.* FROM `tbs_schedule_item_budget` tsib " + @Select(" SELECT tsib.* FROM `tbs_schedule_item_budget` tsib " +

8
src/main/java/com/qs/serve/modules/tbs/service/TbsScheduleItemBudgetService.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetScheduleWithAmount;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
@ -20,5 +21,12 @@ public interface TbsScheduleItemBudgetService extends IService<TbsScheduleItemBu
@InterceptorIgnore(tenantLine = "true") @InterceptorIgnore(tenantLine = "true")
Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(Long sourceId,Long targetId); Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(Long sourceId,Long targetId);
/**
* 获取预算的项使用情况
* @param scheduleItemBudgetIds
* @return
*/
List<TbsBudgetScheduleWithAmount> listScheduleAmountByIds(List<Long> scheduleItemBudgetIds);
} }

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java

@ -393,7 +393,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
List<Long> scheduleItemBudgetIds = scheduleItemBudgetList.stream() List<Long> scheduleItemBudgetIds = scheduleItemBudgetList.stream()
.map(TbsScheduleItemBudget::getId).collect(Collectors.toList()); .map(TbsScheduleItemBudget::getId).collect(Collectors.toList());
//实际发布预算 //实际发布预算
List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getAllByScheduleItemIdList(scheduleItemBudgetIds); List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getSumAmtInList(scheduleItemBudgetIds,Arrays.asList(0,2,3));
for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) { for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) {
BigDecimal realAmt = BigDecimal.ZERO; BigDecimal realAmt = BigDecimal.ZERO;

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

@ -267,7 +267,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
List<TbsBudgetAmtBo> budgetAmtUpdateList = param.getBudgetAmtUpdateList(); List<TbsBudgetAmtBo> budgetAmtUpdateList = param.getBudgetAmtUpdateList();
if(CollectionUtil.isNotEmpty(budgetAmtUpdateList)){ if(CollectionUtil.isNotEmpty(budgetAmtUpdateList)){
List<Long> budgetScheduleIds = budgetAmtUpdateList.stream().map(TbsBudgetAmtBo::getBudgetScheduleItemId).collect(Collectors.toList()); List<Long> budgetScheduleIds = budgetAmtUpdateList.stream().map(TbsBudgetAmtBo::getBudgetScheduleItemId).collect(Collectors.toList());
List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getAllByScheduleItemIdList(budgetScheduleIds); List<TbsBudgetLogWithAmount> budgetLogWithAmountList = tbsScheduleItemBudgetMapper.getSumAmtInList(budgetScheduleIds,Arrays.asList(0,2,3));
List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetMapper.selectBatchIds(budgetScheduleIds); List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetMapper.selectBatchIds(budgetScheduleIds);
List<TbsBudgetChangeScheduleItem> changeScheduleItemList = new ArrayList<>(); List<TbsBudgetChangeScheduleItem> changeScheduleItemList = new ArrayList<>();
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgetList) { for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgetList) {

77
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsScheduleItemBudgetServiceImpl.java

@ -2,7 +2,9 @@ package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetScheduleWithAmount;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -11,6 +13,8 @@ import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService;
import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -33,7 +37,7 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl<TbsScheduleIte
//初始化金额 //初始化金额
List<TbsScheduleItemBudget> scheduleItemBudgetList = this.list(lqw); List<TbsScheduleItemBudget> scheduleItemBudgetList = this.list(lqw);
List<Long> ids = scheduleItemBudgetList.stream().map(TbsScheduleItemBudget::getId).collect(Collectors.toList()); List<Long> ids = scheduleItemBudgetList.stream().map(TbsScheduleItemBudget::getId).collect(Collectors.toList());
List<TbsBudgetLogWithAmount> amountList = this.baseMapper.getAllByScheduleItemIdList(ids); List<TbsBudgetLogWithAmount> amountList = this.baseMapper.getSumAmtInList(ids,Arrays.asList(0,2,3));
for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) { for (TbsScheduleItemBudget itemBudget : scheduleItemBudgetList) {
for (TbsBudgetLogWithAmount withAmount : amountList) { for (TbsBudgetLogWithAmount withAmount : amountList) {
if(itemBudget.getId().equals(withAmount.getId())){ if(itemBudget.getId().equals(withAmount.getId())){
@ -49,5 +53,76 @@ public class TbsScheduleItemBudgetServiceImpl extends ServiceImpl<TbsScheduleIte
public Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(Long sourceId,Long targetId){ public Long findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(Long sourceId,Long targetId){
return this.baseMapper.findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(sourceId,targetId); return this.baseMapper.findUnMatchScheduleItemBySourceBudgetIdAndTargetBudgetId(sourceId,targetId);
} }
@Override
public List<TbsBudgetScheduleWithAmount> listScheduleAmountByIds(List<Long> scheduleItemBudgetIds) {
// 预算金额
List<TbsBudgetLogWithAmount> finalList = baseMapper.getSumAmtInList(scheduleItemBudgetIds, BudgetLogOptFlag.getFinalBudgetOptFlag());
// 被占用金额
List<TbsBudgetLogWithAmount> usedList = baseMapper.getSumAmtNotInList(scheduleItemBudgetIds, BudgetLogOptFlag.getFinalBudgetOptFlag());
// 费用使用金额
List<TbsBudgetLogWithAmount> costUsedList = baseMapper.getSumAmtInList(scheduleItemBudgetIds, BudgetLogOptFlag.finalCostOptFlag);
// 政策使用金额
List<TbsBudgetLogWithAmount> policyUsedList = baseMapper.getSumAmtInList(scheduleItemBudgetIds, BudgetLogOptFlag.finalPolicyOptFlag);
List<TbsBudgetLogWithAmount> policyCheckingList = baseMapper.getPolicyCheckingList(scheduleItemBudgetIds, BudgetLogOptFlag.finalPolicyOptFlag);
List<TbsBudgetLogWithAmount> costCheckingList = baseMapper.getCostCheckingList(scheduleItemBudgetIds, BudgetLogOptFlag.finalPolicyOptFlag);
List<TbsBudgetScheduleWithAmount> result = new ArrayList<>();
for (Long scheduleItemBudgetId : scheduleItemBudgetIds) {
TbsBudgetScheduleWithAmount withAmount = new TbsBudgetScheduleWithAmount();
withAmount.setScheduleItemBudgetId(scheduleItemBudgetId);
for (TbsBudgetLogWithAmount obj : finalList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setFinalAmt(obj.getAmt());
break;
}
}
for (TbsBudgetLogWithAmount obj : usedList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setAllUsingAmt(obj.getAmt());
break;
}
}
for (TbsBudgetLogWithAmount obj : costUsedList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setCostUsingAmt(obj.getAmt());
break;
}
}
for (TbsBudgetLogWithAmount obj : policyUsedList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setPolicyUsingAmt(obj.getAmt());
break;
}
}
for (TbsBudgetLogWithAmount obj : costCheckingList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setCostCheckingAmt(obj.getAmt());
break;
}
}
for (TbsBudgetLogWithAmount obj : policyCheckingList) {
if(scheduleItemBudgetId.equals(obj.getId())){
withAmount.setPolicyCheckingAmt(obj.getAmt());
break;
}
}
//因为log统计为负数,需要把数值取正
withAmount.setAllUsingAmt(withAmount.getAllUsingAmt().negate());
withAmount.setCostUsingAmt(withAmount.getCostUsingAmt().negate());
withAmount.setCostCheckingAmt(withAmount.getCostCheckingAmt().negate());
withAmount.setPolicyUsingAmt(withAmount.getPolicyUsingAmt().negate());
withAmount.setPolicyCheckingAmt(withAmount.getPolicyCheckingAmt().negate());
//计算剩余及审批合计
withAmount.setAllCheckingAmt(withAmount.getCostCheckingAmt().add(withAmount.getPolicyCheckingAmt()));
withAmount.setSurplusAmt(withAmount.getFinalAmt().subtract(withAmount.getAllUsingAmt()));
result.add(withAmount);
}
return result;
}
} }

75
src/main/resources/mapper/tbs/TbsScheduleItemBudgetMapper.xml

@ -146,19 +146,84 @@
where target.id is null where target.id is null
</select> </select>
<select id="getAllByScheduleItemIdList"
resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount"> <select id="getSumAmtInList" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount">
select
schedule_item_budget_id as id,
sum(amount) as amt
from tbs_budget_log
where
del_flag = 0 and opt_type in
<foreach collection="optNumbers" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND schedule_item_budget_id in
<foreach collection="selectIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
group by schedule_item_budget_id
</select>
<select id="getSumAmtNotInList" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount">
select
schedule_item_budget_id as id,
sum(amount) as amt
from tbs_budget_log
where
del_flag = 0 and opt_type not in
<foreach collection="optNumbers" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND schedule_item_budget_id in
<foreach collection="selectIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
group by schedule_item_budget_id
</select>
<select id="getCostCheckingList" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount">
select
schedule_item_budget_id as id,
sum(amount) as amt
from tbs_budget_log
left join tbs_cost_apply on tbs_budget_log.cost_apply_id = tbs_cost_apply.id
where
tbs_budget_log.cost_apply_id is not null
and tbs_cost_apply.charge_state = 1
and tbs_budget_log.del_flag = 0
and tbs_cost_apply.del_flag = 0
and opt_type in
<foreach collection="optNumbers" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND schedule_item_budget_id in
<foreach collection="selectIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
group by schedule_item_budget_id
</select>
<select id="getPolicyCheckingList" resultType="com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount">
select select
schedule_item_budget_id as id, schedule_item_budget_id as id,
sum(amount) as amt sum(amount) as amt
from tbs_budget_log from tbs_budget_log
left join tzc_policy on tbs_budget_log.policy_id = tzc_policy.id
where where
del_flag = 0 and opt_type in (0,2,3) tbs_budget_log.policy_id is not null
and tzc_policy.policy_status = 1
and tbs_budget_log.del_flag = 0
and tzc_policy.del_flag = 0
and opt_type in
<foreach collection="optNumbers" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
AND schedule_item_budget_id in AND schedule_item_budget_id in
<foreach collection="selectIds" item ="selectId" index="i" open="(" close=")" separator=","> <foreach collection="selectIds" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId} #{selectId}
</foreach> </foreach>
group by schedule_item_budget_id group by schedule_item_budget_id
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save