demand: 现金销售查询增加展示理赔金额。 现金销售支持查询理赔账单列表。 销售剩余额度计算支持过滤理赔账单, 运单录入销售额度计算支持过滤理赔账单。 定时计算销售额度/实时计算支持计算销售理赔金额
committer: heyu
This commit is contained in:
parent
8cce2fa7f4
commit
1ddddfd496
@ -1,11 +1,11 @@
|
||||
|
||||
/**
|
||||
/**
|
||||
* @Project: emis
|
||||
* @Title: EmisCreditSalesmenController.java
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
* @Copyright: ShangHai Duta 2022 All rights reserved.
|
||||
* @version v1.0
|
||||
* @version v1.0
|
||||
* @Description: <p> 销售信用额度 控制器 </p>
|
||||
*/
|
||||
|
||||
@ -14,6 +14,7 @@ package com.xdadan.erp.web.emis;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@ -36,10 +37,11 @@ import com.xdadan.erp.common.utils.poi.ExcelUtil;
|
||||
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
|
||||
import com.xdadan.erp.emis.service.IEmisCreditSalesmenService;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||
|
||||
/**
|
||||
* 销售信用额度Controller
|
||||
*
|
||||
*
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
*/
|
||||
@ -62,11 +64,21 @@ public class EmisCreditSalesmenController extends BaseController
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询销售理赔账单列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('emis:emisCreditSalesmen:getSalesSatisfyDetail')")
|
||||
@GetMapping("/getSalesSatisfyDetail")
|
||||
public TableDataInfo getSalesSatisfyDetail(EmisWaybill emisWaybill) {
|
||||
startPage();
|
||||
List<EmisSettleBill> list = emisCreditSalesmenService.selectSalesSatisfyDetailList(emisWaybill);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否重复
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return 数量
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('emis:emisCreditSalesmen:list')")
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/**
|
||||
/**
|
||||
* @Project: emis
|
||||
* @Title: EmisCreditSalesmen.java
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
* @Copyright: ShangHai Duta 2022 All rights reserved.
|
||||
* @version v1.0
|
||||
* @version v1.0
|
||||
* @Description: <p> 销售信用额度 实体类 </p>
|
||||
*/
|
||||
|
||||
@ -49,6 +49,8 @@ public class EmisCreditSalesmen extends BaseEntity
|
||||
private BigDecimal overTermMoney;
|
||||
/* 账期内额度 */
|
||||
private BigDecimal inTermMoney;
|
||||
/* 理赔金额 */
|
||||
private BigDecimal satisfyMoney;
|
||||
/* 币种 */
|
||||
private String currency;
|
||||
/* 运输方式 */
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/**
|
||||
/**
|
||||
* @Project: emis
|
||||
* @Title: EmisCreditSalesmenMapper.java
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
* @Copyright: ShangHai Doitinfo 2022 All rights reserved.
|
||||
* @version v1.0
|
||||
* @version v1.0
|
||||
* @Description: <p> 销售信用额度 Mapper 接口 </p>
|
||||
* <span style='color:red'> Warning : This file is generate by ai tools,don't edit!!! </span>
|
||||
*/
|
||||
@ -17,6 +17,8 @@ import java.util.Map;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||
import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||
|
||||
/**
|
||||
* @ClassName EmisCreditSalesmenMapper
|
||||
@ -29,14 +31,14 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
|
||||
/**
|
||||
* 主键查询
|
||||
* @param id
|
||||
* @return
|
||||
* @return
|
||||
*/
|
||||
public EmisCreditSalesmen selectEmisCreditSalesmenById(Long id);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return 集合
|
||||
*/
|
||||
public List<EmisCreditSalesmen> selectEmisCreditSalesmenList(EmisCreditSalesmen emisCreditSalesmen);
|
||||
@ -50,26 +52,26 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
|
||||
|
||||
/**
|
||||
* 检查是否重复
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return 数量
|
||||
*/
|
||||
public List<EmisCreditSalesmen> checkUnique(EmisCreditSalesmen emisCreditSalesmen);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* 新增
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return
|
||||
* @return
|
||||
*/
|
||||
public int insertEmisCreditSalesmen(EmisCreditSalesmen emisCreditSalesmen);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return
|
||||
*/
|
||||
public int updateEmisCreditSalesmen(EmisCreditSalesmen emisCreditSalesmen);
|
||||
|
||||
@ -85,7 +87,7 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 结果
|
||||
*/
|
||||
@ -93,9 +95,17 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmisCreditSalesmenByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 查询销售理赔详情列表
|
||||
*
|
||||
* @param emisWaybill 运单查询条件
|
||||
* @return 结算账单集合
|
||||
*/
|
||||
public List<EmisSettleBill> selectSalesSatisfyDetailList(EmisWaybill emisWaybill);
|
||||
}
|
||||
|
||||
@ -54,6 +54,7 @@ package com.xdadan.erp.emis.service;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -418,7 +419,8 @@ public class EmisBaseService {
|
||||
}
|
||||
}
|
||||
|
||||
BigDecimal totalCreditMoney = baseCreditMoney.add(tempAdjust);
|
||||
BigDecimal satisfyMoney = creditSalesmen.getSatisfyMoney() != null ? creditSalesmen.getSatisfyMoney() : BigDecimal.ZERO;
|
||||
BigDecimal totalCreditMoney = baseCreditMoney.add(tempAdjust).add(satisfyMoney);
|
||||
log.debug("客户[{}]的临时额度总额计算完成: 基础额度[{}] + 临时调整[{}] = 总额[{}]",
|
||||
creditSalesmen.getAccCode(), baseCreditMoney, tempAdjust, totalCreditMoney);
|
||||
return totalCreditMoney;
|
||||
@ -1662,11 +1664,15 @@ public class EmisBaseService {
|
||||
BigDecimal inTermMoney = getInTermMoney(emisWaybillList);
|
||||
// 超期金额
|
||||
BigDecimal overTermMoney = new BigDecimal(useMoney.subtract(inTermMoney).stripTrailingZeros().toPlainString());
|
||||
// 计算理赔金额
|
||||
BigDecimal satisfyMoney = calculateSatisfyMoney(emisWaybillList);
|
||||
|
||||
EmisCreditSalesmen emisCreditSalesmen = new EmisCreditSalesmen();
|
||||
emisCreditSalesmen.setId(item.getId());
|
||||
emisCreditSalesmen.setUseMoney(useMoney);
|
||||
emisCreditSalesmen.setOverTermMoney(overTermMoney);
|
||||
emisCreditSalesmen.setInTermMoney(inTermMoney);
|
||||
emisCreditSalesmen.setSatisfyMoney(satisfyMoney);
|
||||
emisCreditSalesmenMapper.updateEmisCreditSalesmen(emisCreditSalesmen);
|
||||
log.info("success.autoDoCredit , emisCreditSalesmen,{}", JSON.toJSONString(emisCreditSalesmen));
|
||||
}catch (Exception ex){
|
||||
@ -1715,6 +1721,61 @@ public class EmisBaseService {
|
||||
return inTermMoney;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据运单列表计算理赔金额
|
||||
* 根据emisWaybillList.billCode查emis_settle_sub_bill获取settle_bill_no
|
||||
* 关联emis_settle_bill获取总的satisfy_money并返回
|
||||
* 一个settle_bill_no对应多个billCode
|
||||
*
|
||||
* @param emisWaybillList 运单列表
|
||||
* @return 理赔金额总额
|
||||
*/
|
||||
protected BigDecimal calculateSatisfyMoney(List<EmisWaybill> emisWaybillList) {
|
||||
if (CollectionUtil.isEmpty(emisWaybillList)) {
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
// 获取所有运单号
|
||||
List<String> billCodeList = emisWaybillList.stream()
|
||||
.map(EmisWaybill::getBillCode)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
log.info("开始计算理赔金额,运单号列表: {}", billCodeList);
|
||||
|
||||
// 根据billCode查询emis_settle_sub_bill获取settle_bill_no
|
||||
List<EmisSettleSubBill> emisSettleSubBillList = emisSettleSubBillMapper.querysSettleSubBillByBillCodeList(billCodeList);
|
||||
if (CollectionUtil.isEmpty(emisSettleSubBillList)) {
|
||||
log.info("未找到对应的结算子账单记录");
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
// 获取所有settle_bill_no
|
||||
Set<String> settleBillNoSet = emisSettleSubBillList.stream()
|
||||
.map(EmisSettleSubBill::getSettleBillNo)
|
||||
.filter(StringUtils::isNotEmpty)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
if (CollectionUtil.isEmpty(settleBillNoSet)) {
|
||||
log.info("未找到对应的结算账单号");
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
log.info("找到的结算账单号: {}", settleBillNoSet);
|
||||
|
||||
// 根据settle_bill_no查询emis_settle_bill获取satisfy_money
|
||||
BigDecimal totalSatisfyMoney = BigDecimal.ZERO;
|
||||
for (String settleBillNo : settleBillNoSet) {
|
||||
EmisSettleBill settleBill = emisSettleBillMapper.selectSettleBillBySettleBillNo(settleBillNo);
|
||||
if (settleBill != null && settleBill.getSatisfyMoney() != null) {
|
||||
totalSatisfyMoney = totalSatisfyMoney.add(settleBill.getSatisfyMoney());
|
||||
log.debug("结算账单[{}]的理赔金额: {}", settleBillNo, settleBill.getSatisfyMoney());
|
||||
}
|
||||
}
|
||||
|
||||
log.info("理赔金额计算完成,总额: {}", totalSatisfyMoney);
|
||||
return totalSatisfyMoney;
|
||||
}
|
||||
|
||||
public List<EmisWaybill> filterOverTermEmisWaybillList(List<EmisWaybill> list) {
|
||||
log.info("cd filterOverTermEmisWaybillList , emisWaybillList,{}", list);
|
||||
if (CollectionUtil.isEmpty(list)) {
|
||||
@ -4723,6 +4784,7 @@ public class EmisBaseService {
|
||||
EmisWaybillBatchStatus batchStatus = new EmisWaybillBatchStatus();
|
||||
batchStatus.setBillCode(waybill.getBillCode());
|
||||
batchStatus.setSiteBatchStatus("1"); // 1表示匹配成功
|
||||
// batchStatus.setBlManual("1");
|
||||
Date now = new Date();
|
||||
batchStatus.setCreateBy("system");
|
||||
batchStatus.setCreateTime(now);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/**
|
||||
/**
|
||||
* @Project: emis
|
||||
* @Title: EmisCreditSalesmenService.java
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
* @Copyright: ShangHai Duta 2022 All rights reserved.
|
||||
* @version v1.0
|
||||
* @version v1.0
|
||||
* @Description: <p> 销售信用额度 服务类接口 </p>
|
||||
*/
|
||||
package com.xdadan.erp.emis.service;
|
||||
@ -12,6 +12,8 @@ package com.xdadan.erp.emis.service;
|
||||
import java.util.List;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||
import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||
|
||||
/**
|
||||
* @ClassName EmisCreditSalesmenService
|
||||
@ -19,18 +21,18 @@ import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
*/
|
||||
public interface IEmisCreditSalesmenService
|
||||
public interface IEmisCreditSalesmenService
|
||||
{
|
||||
/**
|
||||
* 主键查询
|
||||
* @param id
|
||||
* @return
|
||||
* @return
|
||||
*/
|
||||
public EmisCreditSalesmen selectEmisCreditSalesmenById(Long id);
|
||||
|
||||
/**
|
||||
* 查询销售信用额度列表
|
||||
*
|
||||
*
|
||||
* @param emisCreditSalesmen 销售信用额度
|
||||
* @return 销售信用额度集合
|
||||
*/
|
||||
@ -39,15 +41,15 @@ public interface IEmisCreditSalesmenService
|
||||
|
||||
/**
|
||||
* 检查是否重复
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
*
|
||||
* @param emisCreditSalesmen
|
||||
* @return 数量
|
||||
*/
|
||||
public List<EmisCreditSalesmen> checkUnique(EmisCreditSalesmen emisCreditSalesmen);
|
||||
|
||||
/**
|
||||
* 新增销售信用额度
|
||||
*
|
||||
*
|
||||
* @param emisCreditSalesmen 销售信用额度
|
||||
* @return 结果
|
||||
*/
|
||||
@ -55,7 +57,7 @@ public interface IEmisCreditSalesmenService
|
||||
|
||||
/**
|
||||
* 修改销售信用额度
|
||||
*
|
||||
*
|
||||
* @param emisCreditSalesmen 销售信用额度
|
||||
* @return 结果
|
||||
*/
|
||||
@ -63,7 +65,7 @@ public interface IEmisCreditSalesmenService
|
||||
|
||||
/**
|
||||
* 批量删除销售信用额度
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的销售信用额度主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
@ -71,9 +73,17 @@ public interface IEmisCreditSalesmenService
|
||||
|
||||
/**
|
||||
* 删除销售信用额度信息
|
||||
*
|
||||
*
|
||||
* @param id 销售信用额度主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmisCreditSalesmenById(Long id);
|
||||
|
||||
/**
|
||||
* 查询销售理赔详情列表
|
||||
*
|
||||
* @param emisWaybill 运单查询条件
|
||||
* @return 结算账单集合
|
||||
*/
|
||||
public List<EmisSettleBill> selectSalesSatisfyDetailList(EmisWaybill emisWaybill);
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
/**
|
||||
/**
|
||||
* @Project: emis
|
||||
* @Title: EmisCreditSalesmenServiceImpl.java
|
||||
* @author linfso
|
||||
* @date 2025-03-08 16:17:56
|
||||
* @Copyright: ShangHai Duta 2022 All rights reserved.
|
||||
* @version v1.0
|
||||
* @version v1.0
|
||||
* @Description: <p> 销售信用额度 实体类 </p>
|
||||
*/
|
||||
|
||||
@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
|
||||
import com.xdadan.erp.emis.mapper.EmisCreditSalesmenMapper;
|
||||
import com.xdadan.erp.emis.service.IEmisCreditSalesmenService;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||
|
||||
/**
|
||||
* 销售信用额度Service业务层处理
|
||||
@ -59,7 +60,7 @@ public class EmisCreditSalesmenServiceImpl extends EmisBaseService implements IE
|
||||
|
||||
/**
|
||||
* 查询销售信用额度列表
|
||||
*
|
||||
*
|
||||
* @param emisCreditSalesmen 销售信用额度
|
||||
* @return 销售信用额度
|
||||
*/
|
||||
@ -145,8 +146,11 @@ public class EmisCreditSalesmenServiceImpl extends EmisBaseService implements IE
|
||||
emisCreditSalesmen.setOverTermMoney(overTermMoney);
|
||||
emisCreditSalesmen.setInTermMoney(inTermMoney);
|
||||
|
||||
// 理赔金额
|
||||
BigDecimal satisfyMoney = calculateSatisfyMoney(emisWaybillList);
|
||||
emisCreditSalesmen.setSatisfyMoney(satisfyMoney);
|
||||
log.error("=====>useMoneyMap=1111====>{}", JSON.toJSONString(useMoneyMap));
|
||||
log.error("=====>useMoney=1111====>{}",useMoney.toString());
|
||||
log.error("=====>useMoney=1111====>{}", useMoney.toString());
|
||||
|
||||
return emisCreditSalesmenMapper.updateEmisCreditSalesmen(emisCreditSalesmen);
|
||||
}
|
||||
@ -173,4 +177,15 @@ public class EmisCreditSalesmenServiceImpl extends EmisBaseService implements IE
|
||||
return emisCreditSalesmenMapper.deleteEmisCreditSalesmenById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询销售理赔详情列表
|
||||
*
|
||||
* @param emisWaybill 运单查询条件
|
||||
* @return 结算账单集合
|
||||
*/
|
||||
@Override
|
||||
public List<EmisSettleBill> selectSalesSatisfyDetailList(EmisWaybill emisWaybill) {
|
||||
log.info("开始查询销售理赔详情列表");
|
||||
return emisCreditSalesmenMapper.selectSalesSatisfyDetailList(emisWaybill);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xdadan.erp.emis.mapper.EmisCreditSalesmenMapper">
|
||||
|
||||
|
||||
<resultMap type="EmisCreditSalesmen" id="EmisCreditSalesmenResult" extends="com.xdadan.erp.emis.mapper.EmisBaseMapper.EmisBaseResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="accCode" column="acc_code" />
|
||||
@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="useMoney" column="use_money" />
|
||||
<result property="overTermMoney" column="over_term_money" />
|
||||
<result property="inTermMoney" column="in_term_money" />
|
||||
<result property="satisfyMoney" column="satisfy_money" />
|
||||
<result property="currency" column="currency" />
|
||||
<result property="transType" column="trans_type" />
|
||||
<result property="startDate" column="start_date" />
|
||||
@ -20,25 +21,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectEmisCreditSalesmenVo">
|
||||
select id, acc_code, salesmen, credit_money, use_money, currency, trans_type, start_date, end_date, bl_open, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_credit_salesmen
|
||||
select id, acc_code, salesmen, credit_money, use_money, over_term_money, in_term_money, satisfy_money, currency, trans_type, start_date, end_date, bl_open, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_credit_salesmen
|
||||
</sql>
|
||||
|
||||
<select id="selectEmisCreditSalesmenList" parameterType="EmisCreditSalesmen" resultMap="EmisCreditSalesmenResult">
|
||||
select
|
||||
select
|
||||
a.id, a.acc_code, a.salesmen, a.credit_money,
|
||||
COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
limit 1), 0
|
||||
) as temp_credit_money,
|
||||
a.use_money, a.over_term_money, a.in_term_money, a.currency,
|
||||
a.trans_type, a.start_date, a.end_date, a.bl_open,
|
||||
a.remark, a.tenant_id, a.del_flag, a.create_by,
|
||||
a.create_time, a.update_by, a.update_time, a.create_site, a.update_site
|
||||
a.use_money, a.over_term_money, a.in_term_money, a.currency,
|
||||
a.trans_type, a.start_date, a.end_date, a.bl_open,
|
||||
a.remark, a.tenant_id, a.del_flag, a.create_by,
|
||||
a.create_time, a.update_by, a.update_time, a.create_site, a.update_site, a.satisfy_money
|
||||
from emis_credit_salesmen a
|
||||
<where>
|
||||
del_flag='0'
|
||||
@ -63,9 +64,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<if test="params.beginCurMoney != null and params.beginCurMoney != ''">
|
||||
and (COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
@ -74,9 +75,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</if>
|
||||
<if test="params.endCurMoney != null and params.endCurMoney != ''">
|
||||
and (COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
@ -86,17 +87,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<if test="params.beginCurMoneyRate != null and params.beginCurMoneyRate != ''">
|
||||
and ((COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
limit 1), 0
|
||||
) - a.use_money)/(COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
@ -105,17 +106,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</if>
|
||||
<if test="params.endCurMoneyRate != null and params.endCurMoneyRate != ''">
|
||||
and ((COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
limit 1), 0
|
||||
) - a.use_money)/(COALESCE(a.credit_money, 0) + COALESCE(
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
(select temp_credit_money_adjust
|
||||
from emis_temp_credit_salesmen t
|
||||
where t.acc_code = a.acc_code
|
||||
and t.del_flag = '0'
|
||||
and NOW() between t.start_date and t.end_date
|
||||
order by t.create_time desc
|
||||
@ -144,9 +145,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
or ( start_date <![CDATA[<= ]]> #{endDate} and #{endDate} <![CDATA[< ]]> end_date )
|
||||
)
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectEmisCreditSalesmenById" parameterType="Long" resultMap="EmisCreditSalesmenResult">
|
||||
select id, acc_code, salesmen, credit_money, use_money, over_term_money, in_term_money, currency, trans_type, start_date, end_date, bl_open, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
|
||||
select id, acc_code, salesmen, credit_money, use_money, over_term_money, in_term_money, satisfy_money, currency, trans_type, start_date, end_date, bl_open, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
|
||||
from emis_credit_salesmen a
|
||||
where a.id = #{id}
|
||||
</select>
|
||||
@ -188,6 +189,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="useMoney != null">use_money,</if>
|
||||
<if test="overTermMoney != null">over_term_money,</if>
|
||||
<if test="inTermMoney != null">in_term_Money,</if>
|
||||
<if test="satisfyMoney != null">satisfy_money,</if>
|
||||
<if test="currency != null and currency != ''">currency,</if>
|
||||
<if test="transType != null and transType != ''">trans_type,</if>
|
||||
<if test="startDate != null">start_date,</if>
|
||||
@ -210,6 +212,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="useMoney != null">#{useMoney},</if>
|
||||
<if test="overTermMoney != null">#{overTermMoney},</if>
|
||||
<if test="inTermMoney != null">#{inTermMoney},</if>
|
||||
<if test="satisfyMoney != null">#{satisfyMoney},</if>
|
||||
<if test="currency != null and currency != ''">#{currency},</if>
|
||||
<if test="transType != null and transType != ''">#{transType},</if>
|
||||
<if test="startDate != null">#{startDate},</if>
|
||||
@ -234,6 +237,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="useMoney != null">use_money = #{useMoney},</if>
|
||||
<if test="overTermMoney != null">over_term_money = #{overTermMoney},</if>
|
||||
<if test="inTermMoney != null">in_term_Money = #{inTermMoney},</if>
|
||||
<if test="satisfyMoney != null">satisfy_money = #{satisfyMoney},</if>
|
||||
<if test="currency != null and currency != ''">currency = #{currency},</if>
|
||||
<if test="transType != null and transType != ''">trans_type = #{transType},</if>
|
||||
<if test="startDate != null">start_date = #{startDate},</if>
|
||||
@ -267,4 +271,112 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
|
||||
<!-- 查询销售理赔详情列表 -->
|
||||
<select id="selectSalesSatisfyDetailList" parameterType="EmisWaybill" resultType="EmisSettleBill">
|
||||
SELECT DISTINCT
|
||||
sb.id,
|
||||
sb.settle_bill_no as settleBillNo,
|
||||
sb.settle_bill_name as settleBillName,
|
||||
sb.settle_type as settleType,
|
||||
sb.settle_start_date as settleStartDate,
|
||||
sb.settle_end_date as settleEndDate,
|
||||
sb.bill_month as billMonth,
|
||||
sb.rec_money as recMoney,
|
||||
sb.reced_money as recedMoney,
|
||||
sb.invoiced_money as invoicedMoney,
|
||||
sb.cust_no as custNo,
|
||||
sb.cust_name as custName,
|
||||
sb.customer_code as customerCode,
|
||||
sb.customer_name as customerName,
|
||||
sb.site_code as siteCode,
|
||||
sb.site_name as siteName,
|
||||
sb.satisfy_money as satisfyMoney,
|
||||
sb.allowance_money as allowanceMoney,
|
||||
sb.deduction_money as deductionMoney,
|
||||
sb.other_money as otherMoney,
|
||||
sb.satisfy_reason as satisfyReason,
|
||||
sb.allowance_reason as allowanceReason,
|
||||
sb.deduction_reason as deductionReason,
|
||||
sb.other_reason as otherReason,
|
||||
sb.open_bill_status as openBillStatus,
|
||||
sb.payment_status as paymentStatus,
|
||||
sb.charge_status as chargeStatus,
|
||||
sb.send_piece_sum as sendPieceSum,
|
||||
sb.piece_number as pieceNumber,
|
||||
sb.fee_weight as feeWeight,
|
||||
sb.uncollected_amount as uncollectedAmount,
|
||||
sb.send_money_sum as sendMoneySum,
|
||||
sb.refund_amount as refundAmount,
|
||||
sb.refund_money as refundMoney,
|
||||
sb.payee,
|
||||
sb.salesmen,
|
||||
sb.credit_period as creditPeriod,
|
||||
sb.credit_period_type as creditPeriodType,
|
||||
sb.settle_day as settleDay,
|
||||
sb.payment_due_date as paymentDueDate,
|
||||
sb.bl_send_oms as blSendOms,
|
||||
sb.bl_confirm_center as blConfirmCenter,
|
||||
sb.confirm_center_date as confirmCenterDate,
|
||||
sb.confirm_center_note as confirmCenterNote,
|
||||
sb.confirm_center_man_code as confirmCenterManCode,
|
||||
sb.confirm_center_code as confirmCenterCode,
|
||||
sb.bl_confirm_site as blConfirmSite,
|
||||
sb.confirm_site_date as confirmSiteDate,
|
||||
sb.confirm_site_man_code as confirmSiteManCode,
|
||||
sb.confirm_site_note as confirmSiteNote,
|
||||
sb.confirm_site_code as confirmSiteCode,
|
||||
sb.remark,
|
||||
sb.del_flag as delFlag,
|
||||
sb.create_by as createBy,
|
||||
sb.create_time as createTime,
|
||||
sb.update_by as updateBy,
|
||||
sb.update_time as updateTime,
|
||||
sb.create_site as createSite,
|
||||
sb.update_site as updateSite
|
||||
FROM emis_settle_bill sb
|
||||
INNER JOIN emis_settle_sub_bill ssb ON sb.settle_bill_no = ssb.settle_bill_no
|
||||
INNER JOIN emis_waybill w ON ssb.bill_code = w.bill_code
|
||||
WHERE sb.del_flag = '0'
|
||||
AND ssb.del_flag = '0'
|
||||
AND w.del_flag = '0'
|
||||
and w.order_status !='0' and w.order_status!='2'
|
||||
AND sb.satisfy_money > 0
|
||||
<if test="paymentType != null and paymentType != ''">
|
||||
AND FIND_IN_SET(w.payment_type, #{paymentType})
|
||||
</if>
|
||||
<if test="payee != null and payee != ''">
|
||||
AND sb.payee = #{payee}
|
||||
</if>
|
||||
<if test="paymentStatus != null and paymentStatus != ''">
|
||||
AND FIND_IN_SET(w.payment_status, #{paymentStatus})
|
||||
</if>
|
||||
<if test="params.problemQueryType != null and params.problemQueryType == 1 and params.problemQueryIds != null and params.problemQueryIds !=''">
|
||||
and exists (
|
||||
select 1 from emis_waybill_problem_info ewpi where w.bill_code=ewpi.bill_code and ewpi.del_flag='0' and FIND_IN_SET( ewpi.`problem_type`, #{params.problemQueryIds} )
|
||||
)
|
||||
</if>
|
||||
|
||||
<if test="params.problemQueryType != null and params.problemQueryType == 2 and params.problemQueryIds != null and params.problemQueryIds !=''">
|
||||
and not exists (
|
||||
select 1 from emis_waybill_problem_info ewpi where w.bill_code=ewpi.bill_code and ewpi.del_flag='0' and FIND_IN_SET( ewpi.`problem_type`, #{params.problemQueryIds} )
|
||||
)
|
||||
</if>
|
||||
<!-- <if test="params.queryTabType != null and params.queryTabType != ''">-->
|
||||
<!-- AND w.query_tab_type = #{params.queryTabType}-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="params.querySendType != null and params.querySendType != ''">-->
|
||||
<!-- AND w.query_send_type = #{params.querySendType}-->
|
||||
<!-- </if>-->
|
||||
<if test="params.beginSendDate != null and params.beginSendDate != ''">
|
||||
AND w.send_date <![CDATA[ >= ]]> #{params.beginSendDate}
|
||||
</if>
|
||||
<if test="params.endSendDate != null and params.endSendDate != ''">
|
||||
AND w.send_date <![CDATA[ <= ]]> #{params.endSendDate}
|
||||
</if>
|
||||
<if test="carryType != null and carryType != ''">
|
||||
AND FIND_IN_SET(w.carry_type, #{carryType})
|
||||
</if>
|
||||
ORDER BY sb.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user