This commit is contained in:
linfso 2025-03-12 13:19:57 +08:00
parent 05f4c98b0f
commit 5b3cd388ea
8 changed files with 84 additions and 15 deletions

View File

@ -14,6 +14,7 @@ import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xdadan.erp.emis.domain.EmisCreditCustomer;
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
import org.apache.ibatis.annotations.Param;
/**
@ -47,7 +48,15 @@ public interface EmisCreditCustomerMapper extends BaseMapper<EmisCreditCustomer>
* @return 数量
*/
public List<EmisCreditCustomer> checkUnique(EmisCreditCustomer emisCreditCustomer);
/**
* 获取已使用数据
* @param emisCreditCustomer
* @return
*/
public BigDecimal getUseMoney(EmisCreditCustomer emisCreditCustomer);
/**
* 新增
@ -65,6 +74,7 @@ public interface EmisCreditCustomerMapper extends BaseMapper<EmisCreditCustomer>
*/
public int updateEmisCreditCustomer(EmisCreditCustomer emisCreditCustomer);
public int changeBalance(@Param("accCode") String accCode,@Param("changeMoney") BigDecimal changeMoney);
/**

View File

@ -39,6 +39,12 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
*/
public List<EmisCreditSalesmen> selectEmisCreditSalesmenList(EmisCreditSalesmen emisCreditSalesmen);
/**
* 获取已使用数据
* @param emisCreditSalesmen
* @return
*/
public BigDecimal getUseMoney(EmisCreditSalesmen emisCreditSalesmen);
/**
* 检查是否重复

View File

@ -262,9 +262,8 @@ public class EmisBaseService {
emisCreditCustomerMapper.changeBalance(item0.getAccCode(),changeMoney);
}
}
}else if("1".equals(paymentType)
|| "3".equals(paymentType)
){
}
else if( "1".equals(paymentType) || "3".equals(paymentType) ){
// 现金额度占用
EmisCreditSalesmen queryCreditSalesmen= new EmisCreditSalesmen();
queryCreditSalesmen.setSalesmen(emisWaybill.getSalesmen());

View File

@ -95,6 +95,11 @@ public class EmisCreditCustomerServiceImpl implements IEmisCreditCustomerService
// 生成accCode
String accCode= WaybillHelper.genCreditAccCode();
emisCreditCustomer.setAccCode(accCode);
// 获取已使用金额
BigDecimal useMoney=emisCreditCustomerMapper.getUseMoney(emisCreditCustomer);
emisCreditCustomer.setUseMoney(useMoney);
return emisCreditCustomerMapper.insertEmisCreditCustomer(emisCreditCustomer);
}
@ -117,6 +122,10 @@ public class EmisCreditCustomerServiceImpl implements IEmisCreditCustomerService
throw new EmisBizError(EmisBizErrorType.EXISTS,"数据重复["+estNameStr+"]");
}
// 获取已使用金额
BigDecimal useMoney=emisCreditCustomerMapper.getUseMoney(emisCreditCustomer);
emisCreditCustomer.setUseMoney(useMoney);
return emisCreditCustomerMapper.updateEmisCreditCustomer(emisCreditCustomer);
}

View File

@ -26,7 +26,6 @@ import com.xdadan.erp.emis.service.IEmisCreditSalesmenService;
/**
* 销售信用额度Service业务层处理
*
* @author linfso
* @date 2025-03-08 16:17:56
*/
@ -38,7 +37,6 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
/**
* 查询销售信用额度
*
* @param id 销售信用额度主键
* @return 销售信用额度
*/
@ -48,10 +46,8 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
return emisCreditSalesmenMapper.selectEmisCreditSalesmenById(id);
}
/**
* 查询销售信用额度列表
*
* @param emisCreditSalesmen 销售信用额度
* @return 销售信用额度
*/
@ -63,8 +59,7 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
/**
* 检查是否重复
*
* @param emisCreditSalesmen
* @param emisCreditSalesmen
* @return 数量
*/
@Override
@ -75,7 +70,6 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
/**
* 新增销售信用额度
*
* @param emisCreditSalesmen 销售信用额度
* @return 结果
*/
@ -95,12 +89,16 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
// 生成accCode
String accCode= WaybillHelper.genCreditAccCode();
emisCreditSalesmen.setAccCode(accCode);
// 获取已使用金额
BigDecimal useMoney=emisCreditSalesmenMapper.getUseMoney(emisCreditSalesmen);
emisCreditSalesmen.setUseMoney(useMoney);
return emisCreditSalesmenMapper.insertEmisCreditSalesmen(emisCreditSalesmen);
}
/**
* 修改销售信用额度
*
* @param emisCreditSalesmen 销售信用额度
* @return 结果
*/
@ -117,12 +115,15 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
throw new EmisBizError(EmisBizErrorType.EXISTS,"数据重复["+estNameStr+"]");
}
// 获取已使用金额
BigDecimal useMoney=emisCreditSalesmenMapper.getUseMoney(emisCreditSalesmen);
emisCreditSalesmen.setUseMoney(useMoney);
return emisCreditSalesmenMapper.updateEmisCreditSalesmen(emisCreditSalesmen);
}
/**
* 批量删除销售信用额度
*
* @param ids 需要删除的销售信用额度主键
* @return 结果
*/
@ -134,7 +135,6 @@ public class EmisCreditSalesmenServiceImpl implements IEmisCreditSalesmenService
/**
* 删除销售信用额度信息
*
* @param id 销售信用额度主键
* @return 结果
*/

View File

@ -102,6 +102,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
limit 1
</select>
<!-- 计算已使用金额 -->
<select id="getUseMoney" parameterType="EmisCreditCustomer" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(bill_fee-reced_money),0) AS use_money
FROM
emis_settle_sub_bill b,
emis_waybill a,
emis_trans_line c
WHERE
a.del_flag = '0'
AND b.del_flag = '0'
and c.del_flag='0'
and a.bill_code=b.bill_code
and settle_type='2'
and not exists(
select 1 from emis_waybill_problem_info ewpi where a.bill_code=ewpi.bill_code and ewpi.del_flag='0' and ewpi.`problem_type` in(173,170,151)
)
and a.trans_line_type=c.line_code
and a.cust_no=#{monthlyPayCode}
and FIND_IN_SET(c.trans_type,#{trans_type})
and a.send_date <![CDATA[ > ]]> #{startDate} and a.send_date <![CDATA[ <= ]]> #{endDate}
</select>
<select id="selectEmisCreditCustomerById" parameterType="Long" resultMap="EmisCreditCustomerResult">
select

View File

@ -90,6 +90,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where a.id = #{id}
</select>
<!-- 计算已使用金额 -->
<select id="getUseMoney" parameterType="EmisCreditSalesmen" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(bill_fee-reced_money),0) AS use_money
FROM
emis_settle_sub_bill b,
emis_waybill a,
emis_trans_line c
WHERE
a.del_flag = '0'
AND b.del_flag = '0'
and c.del_flag='0'
and a.bill_code=b.bill_code
and settle_type='1'
and not exists(
select 1 from emis_waybill_problem_info ewpi where a.bill_code=ewpi.bill_code and ewpi.del_flag='0' and ewpi.`problem_type` in(173,170,151)
)
and a.trans_line_type=c.line_code
and a.salesmen=#{salesmen}
and FIND_IN_SET(c.trans_type,#{trans_type})
and a.send_date <![CDATA[ > ]]> #{startDate} and a.send_date <![CDATA[ <= ]]> #{endDate}
</select>
<insert id="insertEmisCreditSalesmen" parameterType="EmisCreditSalesmen" useGeneratedKeys="true" keyProperty="id">
insert into emis_credit_salesmen
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -124,7 +124,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
m.site_name as dispatch_underling_site_name,
z.type_name as problem_type_name
from emis_settle_sub_bill b ,emis_waybill a
left join emis_trans_product j on a.product_type=j.prod_code and j.del_flag='0'
left join emis_trans_line k on a.trans_line_type=k.line_code and k.del_flag='0'