Browse Source

debug

contract
Yen 2 years ago
parent
commit
79aec91e47
  1. 33
      src/main/java/com/qs/serve/common/util/CodeGenUtil.java
  2. 6
      src/main/java/com/qs/serve/common/util/IdUtil.java
  3. 20
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  4. 21
      src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java
  5. 75
      src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java
  6. 6
      src/main/java/com/qs/serve/modules/tbs/common/util/TbsActivityUtil.java
  7. 19
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  8. 2
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  9. 8
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  10. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  11. 2
      src/main/resources/application.yml
  12. 12
      src/main/resources/mapper/bir/BirRoiRateMapper.xml
  13. 16
      src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

33
src/main/java/com/qs/serve/common/util/CodeGenUtil.java

@ -0,0 +1,33 @@
package com.qs.serve.common.util;
import cn.hutool.core.util.IdUtil;
import com.qs.serve.common.framework.redis.RedisService;
import org.springframework.beans.BeansException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* 生成编号
* @author YenHex
* @since 2023/6/25
*/
public class CodeGenUtil {
public static String generate(String key,int perch){
try {
RedisService redisService = SpringUtils.getBean(RedisService.class);
LocalDate localDateTime = LocalDate.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMdd");
String localTime = df.format(localDateTime);
Integer value = redisService.getInteger(key)+1;
String appendStr = String.format("%0"+perch+"d", value);
return localTime + appendStr;
} catch (BeansException e) {
e.printStackTrace();
}
return IdUtil.getSnowflakeNextIdStr();
}
}

6
src/main/java/com/qs/serve/common/util/IdUtil.java

@ -25,16 +25,12 @@ public class IdUtil extends cn.hutool.core.util.IdUtil {
return prefix + String.format("%03d", end2); return prefix + String.format("%03d", end2);
} }
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
System.out.println(getSnowFlakeId());
}
}
public static Long timeStampLong() { public static Long timeStampLong() {
return System.currentTimeMillis()-BASE_DIFF_MILLIS; return System.currentTimeMillis()-BASE_DIFF_MILLIS;
} }
public static String dateTimeStampId() { public static String dateTimeStampId() {
LocalDateTime localDateTime = LocalDateTime.now(); LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");

20
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -8,6 +8,7 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.modules.bir.entity.BirBaseActivity; import com.qs.serve.modules.bir.entity.BirBaseActivity;
import com.qs.serve.modules.bir.entity.so.BirCostRoiSo; import com.qs.serve.modules.bir.entity.so.BirCostRoiSo;
import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo; import com.qs.serve.modules.bir.entity.vo.BirRoiCostItemVo;
@ -38,7 +39,7 @@ public class BirRoiRateController {
* *
* @return * @return
*/ */
@GetMapping("/test") @GetMapping("/test22")
public R<?> getPage(){ public R<?> getPage(){
//移除当年所有 //移除当年所有
int year = 2023; int year = 2023;
@ -52,6 +53,23 @@ public class BirRoiRateController {
return R.ok(); return R.ok();
} }
/**
*
* @return
*/
@GetMapping("/test")
public R<?> getPage(String month){
AuthContextUtils.setTenant("001");
//移除当年所有
int year = 2023;
LambdaQueryWrapper<BirBaseActivity> rmLqw = new LambdaQueryWrapper<>();
rmLqw.eq(BirBaseActivity::getKeyNum,year+month);
activityService.remove(rmLqw);
//重新生成记录
activityService.buildReport(year,Integer.parseInt(month));
return R.ok();
}
/** /**
* 获取费率 * 获取费率

21
src/main/java/com/qs/serve/modules/bir/entity/vo/BirRoiCostItemVo.java

@ -22,22 +22,37 @@ public class BirRoiCostItemVo {
private LocalDate yearMonthDate; private LocalDate yearMonthDate;
/** /**
* 费用金额 * 预估金额
*/
private BigDecimal preAmt;
/**
* 费用金额实际金额+预估金额
*/ */
private BigDecimal costAmt; private BigDecimal costAmt;
/** /**
* 核销金额 * 核销金额实际金额+预估金额
*/ */
private BigDecimal checkAmt; private BigDecimal checkAmt;
/**
* 费用金额实际金额
*/
private BigDecimal costRealAmt;
/**
* 核销金额实际金额
*/
private BigDecimal checkRealAmt;
/** /**
* 利润金额 * 利润金额
*/ */
private BigDecimal returnAmt; private BigDecimal returnAmt;
/** /**
* 发货金额 * 发货金额(原发货金额+预估金额)
*/ */
private BigDecimal dispatchAmt; private BigDecimal dispatchAmt;

75
src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java

@ -30,6 +30,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -48,18 +49,45 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
@Override @Override
public List<BirRoiCostItemVo> queryRoiCostItems(BirRoiCostDTO param) { public List<BirRoiCostItemVo> queryRoiCostItems(BirRoiCostDTO param) {
//实际金额
List<BirRoiCostItemVo> realDataList = baseMapper.queryRoiCostItems(param); List<BirRoiCostItemVo> realDataList = baseMapper.queryRoiCostItems(param);
for (BirRoiCostItemVo itemVo : realDataList) {
itemVo.setCostRealAmt(itemVo.getCostAmt());
itemVo.setCheckRealAmt(itemVo.getCheckAmt());
//实际金额使用核销金额
itemVo.setCostAmt(itemVo.getCheckAmt());
}
//预估金额
List<BirRoiCostItemVo> forecastDataList = baseMapper.queryForecastRoiCostItems(param); List<BirRoiCostItemVo> forecastDataList = baseMapper.queryForecastRoiCostItems(param);
//合并数据 //合并数据
for (BirRoiCostItemVo data1 : realDataList) { for (BirRoiCostItemVo data1 : realDataList) {
for (BirRoiCostItemVo data2 : forecastDataList) { for (BirRoiCostItemVo data2 : forecastDataList) {
if(data1.getYearMonth().equals(data2.getYearMonth())){ if(data1.getYearMonth().equals(data2.getYearMonth())){
//预估金额使用申请金额
data1.setCostAmt(data1.getCostAmt().add(data2.getCostAmt())); data1.setCostAmt(data1.getCostAmt().add(data2.getCostAmt()));
data1.setCheckAmt(data1.getCheckAmt().add(data2.getCheckAmt())); //预估相加
data1.setPreAmt(data1.getPreAmt().add(data2.getPreAmt()));
}
}
}
//加入未为被命中的
List<BirRoiCostItemVo> allList = new ArrayList<>();
allList.addAll(realDataList);
for (BirRoiCostItemVo data2 : forecastDataList) {
boolean exist = false;
for (BirRoiCostItemVo data1 : realDataList) {
if(data1.getYearMonth().equals(data2.getYearMonth())){
exist = true;
break;
} }
} }
if(!exist){
allList.add(data2);
}
} }
return realDataList; return allList;
} }
@Override @Override
@ -134,6 +162,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
//防止空值 //防止空值
supplierCodeList.add("0"); supplierCodeList.add("0");
List<BirRoiCostItemVo> costItemVoList = this.queryRoiCostItems(costDTO); List<BirRoiCostItemVo> costItemVoList = this.queryRoiCostItems(costDTO);
//发货单 //发货单
List<ErpDispatchSumVo> dispatchSumVos = null; List<ErpDispatchSumVo> dispatchSumVos = null;
if(supplierCodeList.size()>1){ if(supplierCodeList.size()>1){
@ -141,15 +170,55 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
} }
for (BirRoiCostItemVo costItemVo : costItemVoList) { for (BirRoiCostItemVo costItemVo : costItemVoList) {
costItemVo.setDispatchAmt(BigDecimal.ZERO); costItemVo.setDispatchAmt(BigDecimal.ZERO);
costItemVo.setDispatchAmt(costItemVo.getPreAmt());
if(dispatchSumVos!=null){ if(dispatchSumVos!=null){
for (ErpDispatchSumVo dispatchSumVo : dispatchSumVos) { for (ErpDispatchSumVo dispatchSumVo : dispatchSumVos) {
if(dispatchSumVo.getYearMonth().equals(costItemVo.getYearMonth())){ if(dispatchSumVo.getYearMonth().equals(costItemVo.getYearMonth())){
costItemVo.setDispatchAmt(dispatchSumVo.getDispatchSumCost()); // 预估金额(后追加功能,发货金额=原发货金额+预估金额)
costItemVo.setDispatchAmt(dispatchSumVo.getDispatchSumCost().add(costItemVo.getPreAmt()));
break; break;
} }
} }
} }
} }
//补充数据0的项
List<BirRoiCostItemVo> costItemVos = new ArrayList<>();
for (int i = startMonthNum; i <= currMonthNum; i++) {
int month = Integer.parseInt((""+i).substring(4));
if(month>12){
i = startMonth.getYear()*100 + 100;
continue;
}
boolean isEmpty = true;
for (BirRoiCostItemVo itemVo : costItemVoList) {
if(itemVo.getYearMonth().equals(i)){
isEmpty = false;
}
}
if(isEmpty){
BigDecimal dispatchAmt = BigDecimal.ZERO;
if(dispatchSumVos!=null){
for (ErpDispatchSumVo dispatchSumVo : dispatchSumVos) {
if(dispatchSumVo.getYearMonth().equals(i)){
dispatchAmt = dispatchSumVo.getDispatchSumCost();
break;
}
}
}
BirRoiCostItemVo itemVo = new BirRoiCostItemVo();
itemVo.setYearMonth(i);
itemVo.setYearMonthDate(LocalDate.of(i/100,month,1));
itemVo.setCostAmt(BigDecimal.ZERO);
itemVo.setCheckAmt(BigDecimal.ZERO);
itemVo.setCostRealAmt(BigDecimal.ZERO);
itemVo.setCheckRealAmt(BigDecimal.ZERO);
itemVo.setReturnAmt(BigDecimal.ZERO);
itemVo.setDispatchAmt(dispatchAmt);
costItemVos.add(itemVo);
}
}
costItemVoList.addAll(costItemVos);
Collections.sort(costItemVoList,(a,b)->b.getYearMonth()-a.getYearMonth());
return costItemVoList; return costItemVoList;
} }

6
src/main/java/com/qs/serve/modules/tbs/common/util/TbsActivityUtil.java

@ -32,14 +32,14 @@ public class TbsActivityUtil {
public static void buildOverdue(LambdaQueryWrapper<TbsActivity> lqw,Integer queryState){ public static void buildOverdue(LambdaQueryWrapper<TbsActivity> lqw,Integer queryState){
if(queryState!=null){ if(queryState!=null){
if(queryState.equals(0)){ if(queryState.equals(0)){
lqw.gt(TbsActivity::getActEndDate, LocalDate.now()); lqw.gt(TbsActivity::getPreCheckDate, LocalDate.now());
}else if(queryState.equals(1)){ }else if(queryState.equals(1)){
lqw.le(TbsActivity::getActEndDate, LocalDate.now()); lqw.le(TbsActivity::getPreCheckDate, LocalDate.now());
}else if(queryState.equals(2)){ }else if(queryState.equals(2)){
LocalDate now = LocalDate.now(); LocalDate now = LocalDate.now();
int sysConfOfWarningDays = getSysConfOfWarningDays(); int sysConfOfWarningDays = getSysConfOfWarningDays();
LocalDate startNow = now.plusDays( - sysConfOfWarningDays ); LocalDate startNow = now.plusDays( - sysConfOfWarningDays );
lqw.between(TbsActivity::getActEndDate,startNow , now); lqw.between(TbsActivity::getPreCheckDate,startNow , now);
}else { }else {
lqw.eq(TbsActivity::getId,"0"); lqw.eq(TbsActivity::getId,"0");
} }

19
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -7,6 +7,7 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.PageUtil;
@ -164,6 +165,24 @@ public class TbsActivityController {
} }
} }
/**
* 翻页
* @return
*/
@GetMapping("/page4Home")
public R<PageVo<TbsActivity>> getPage2(){
TbsActivity entity = new TbsActivity();
LambdaQueryWrapper<TbsActivity> lqw = new LambdaQueryWrapper<>(entity);
TbsActivityUtil.buildOverdue(lqw,2);
lqw.eq(TbsActivity::getCreateBy, AuthContextUtils.getSysUserId());
lqw.orderByDesc(TbsActivity::getPreCheckDate);
PageUtil.startPage();
List<TbsActivity> listObjects = tbsActivityService.list(lqw);
int overflowDays = TbsActivityUtil.getSysConfOfWarningDays();
listObjects.forEach(a->a.initWarningDay(overflowDays));
return R.byPageHelperList(listObjects);
}
/** /**
* 费用详情列表 * 费用详情列表

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

@ -230,7 +230,7 @@ public class TbsCostApplyController {
if(contract&&!supplier.getSupplierFlag().equals(1)){ if(contract&&!supplier.getSupplierFlag().equals(1)){
return R.error("当前用户非供应商"); return R.error("当前用户非供应商");
} }
entity.setCode("CA"+IdUtil.timeStampId()); entity.setCode(IdUtil.dateTimeStampId());
entity.setSupplierCode(supplier.getCode()); entity.setSupplierCode(supplier.getCode());
entity.setSupplierName(supplier.getName()); entity.setSupplierName(supplier.getName());
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());

8
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -246,12 +246,12 @@ public class TbsActivity implements Serializable {
*/ */
public void initWarningDay(int preDays){ public void initWarningDay(int preDays){
overdueWarningDays = 0L; overdueWarningDays = 0L;
if( !this.getActivityState().equals(2) if(!this.getActivityState().equals(2)
&&!this.getActivityState().equals(5) &&!this.getActivityState().equals(5)
&&this.getActEndDate()!=null){ &&this.getPreCheckDate()!=null){
try { try {
LocalDate now = LocalDate.now(); LocalDate now = LocalDate.now();
LocalDate end = this.getActEndDate(); LocalDate end = this.getPreCheckDate();
Period duration; Period duration;
duration = Period.between(now,end); duration = Period.between(now,end);
overdueWarningDays = (long)duration.getDays(); overdueWarningDays = (long)duration.getDays();
@ -262,11 +262,13 @@ public class TbsActivity implements Serializable {
expenseApplicationActivityWriteOffOverdueWarningDays = preDays; expenseApplicationActivityWriteOffOverdueWarningDays = preDays;
if(overdueWarningDays >= expenseApplicationActivityWriteOffOverdueWarningDays){ if(overdueWarningDays >= expenseApplicationActivityWriteOffOverdueWarningDays){
overdueState = 0; overdueState = 0;
overdueWarningDays=-overdueWarningDays;
}else if(overdueWarningDays<0){ }else if(overdueWarningDays<0){
overdueState = 1; overdueState = 1;
}else { }else {
overdueState = 2; overdueState = 2;
} }
} }
} }

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -93,9 +93,9 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
if (record.getActEndDate()==null){ if (record.getActEndDate()==null){
continue; continue;
} }
if(record.getActEndDate().isAfter(now)){ if(record.getActEndDate().isBefore(now)){
record.setOverdueState(1); record.setOverdueState(1);
}else if(record.getActEndDate().isAfter(startNow)){ }else if(record.getActEndDate().isBefore(startNow)){
record.setOverdueState(2); record.setOverdueState(2);
}else { }else {
record.setOverdueState(0); record.setOverdueState(0);

2
src/main/resources/application.yml

@ -21,6 +21,7 @@ project:
- /favicon.ico - /favicon.ico
- /error - /error
- /portal/syKeyLogin - /portal/syKeyLogin
- /bir/roiRate/test
permits: #忽略登录 permits: #忽略登录
- /thirty/** #第三方接口 - /thirty/** #第三方接口
- /common/upload #支持API上传调整 - /common/upload #支持API上传调整
@ -30,6 +31,7 @@ project:
- /favicon.ico - /favicon.ico
- /error - /error
- /callback - /callback
- /bir/roiRate/test
#mybatis plus #mybatis plus
mybatis-plus: mybatis-plus:

12
src/main/resources/mapper/bir/BirRoiRateMapper.xml

@ -50,12 +50,15 @@
SELECT SELECT
key_num AS `year_month`, key_num AS `year_month`,
min( start_date ) AS year_month_date, min( start_date ) AS year_month_date,
sum(bir_base_activity.pre_act_quantity) as cost_amt, sum(bir_base_activity.activity_total_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM FROM
`bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id `bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id
<where> <where>
tbs_cost_apply.charge_state in (1,2) tbs_cost_apply.charge_state in (1,2)
and bir_base_activity.del_flag = '0'
and `tbs_cost_apply`.del_flag = '0'
and bir_base_activity.key_num &gt;= #{query.startMonthNum} and bir_base_activity.key_num &gt;= #{query.startMonthNum}
and bir_base_activity.key_num &lt;= #{query.endMonthNum} and bir_base_activity.key_num &lt;= #{query.endMonthNum}
<if test="query.supplierId!=null and query.supplierId!=''"> <if test="query.supplierId!=null and query.supplierId!=''">
@ -90,11 +93,14 @@
key_num AS `year_month`, key_num AS `year_month`,
min( start_date ) AS year_month_date, min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_total_amt) as cost_amt, sum(bir_base_activity.activity_total_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt sum(bir_base_activity.verification_amt) as check_amt,
sum(bir_base_activity.pre_act_quantity) as pre_amt
FROM FROM
`bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id `bir_base_activity` left join `tbs_cost_apply` on `bir_base_activity`.cost_apply_id = `tbs_cost_apply`.id
<where> <where>
tbs_cost_apply.charge_state = 3 tbs_cost_apply.charge_state = 3
and bir_base_activity.del_flag = '0'
and `tbs_cost_apply`.del_flag = '0'
and bir_base_activity.key_num &gt;= #{query.startMonthNum} and bir_base_activity.key_num &gt;= #{query.startMonthNum}
and bir_base_activity.key_num &lt;= #{query.endMonthNum} and bir_base_activity.key_num &lt;= #{query.endMonthNum}
<if test="query.supplierId!=null and query.supplierId!=''"> <if test="query.supplierId!=null and query.supplierId!=''">

16
src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

@ -66,7 +66,7 @@
SELECT SELECT
<if test="query!=null"> <if test="query!=null">
<if test="query.overdueState!=null"> <if test="query.overdueState!=null">
`tbs_activity`.act_end_date, `tbs_activity`.`pre_check_date` act_end_date,
</if> </if>
</if> </if>
<include refid="tbsCostApplySql"/> <include refid="tbsCostApplySql"/>
@ -81,21 +81,21 @@
<if test="query.overdueState!=null and query.overdueState==0"> <if test="query.overdueState!=null and query.overdueState==0">
and `tbs_activity`.`del_flag` = 0 and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0 and `tbs_activity`.`activity_state` = 0
and `tbs_cost_apply`.`charge_state` = 1 and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.act_end_date &gt; #{query.nowDate} and `tbs_activity`.pre_check_date &gt; #{query.nowDate}
</if> </if>
<if test="query.overdueState!=null and query.overdueState==1"> <if test="query.overdueState!=null and query.overdueState==1">
and `tbs_activity`.`del_flag` = 0 and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0 and `tbs_activity`.`activity_state` = 0
and `tbs_cost_apply`.`charge_state` = 1 and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.act_end_date &lt;= #{query.nowDate} and `tbs_activity`.pre_check_date &lt;= #{query.nowDate}
</if> </if>
<if test="query.overdueState!=null and query.overdueState==2"> <if test="query.overdueState!=null and query.overdueState==2">
and `tbs_activity`.`del_flag` = 0 and `tbs_activity`.`del_flag` = 0
and `tbs_activity`.`activity_state` = 0 and `tbs_activity`.`activity_state` = 0
and `tbs_cost_apply`.`charge_state` = 1 and `tbs_cost_apply`.`charge_state` = 2
and `tbs_activity`.act_end_date &gt;= #{query.startNowDate} and `tbs_activity`.pre_check_date &gt;= #{query.startNowDate}
and `tbs_activity`.act_end_date &lt; #{query.nowDate} and `tbs_activity`.pre_check_date &lt; #{query.nowDate}
</if> </if>
<include refid="baseWhere4CostApply"/> <include refid="baseWhere4CostApply"/>
</if> </if>

Loading…
Cancel
Save