md
This commit is contained in:
parent
26bbfdc50e
commit
a48e307830
@ -10,9 +10,12 @@
|
||||
*/
|
||||
package com.xdadan.erp.emis.mapper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditCustomer;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @ClassName EmisCreditCustomerMapper
|
||||
* @Description <p> 客户信用额度表 Mapper 接口 </p>
|
||||
@ -62,6 +65,8 @@ public interface EmisCreditCustomerMapper extends BaseMapper<EmisCreditCustomer>
|
||||
*/
|
||||
public int updateEmisCreditCustomer(EmisCreditCustomer emisCreditCustomer);
|
||||
|
||||
public int changeBalance(@Param("accCode") String accCode,@Param("changeMoney") BigDecimal changeMoney);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
|
||||
@ -10,9 +10,12 @@
|
||||
*/
|
||||
package com.xdadan.erp.emis.mapper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmen;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @ClassName EmisCreditSalesmenMapper
|
||||
* @Description <p> 销售信用额度 Mapper 接口 </p>
|
||||
@ -62,6 +65,8 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
|
||||
*/
|
||||
public int updateEmisCreditSalesmen(EmisCreditSalesmen emisCreditSalesmen);
|
||||
|
||||
public int changeBalance(@Param("accCode") String accCode, @Param("changeMoney") BigDecimal changeMoney);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
|
||||
@ -58,9 +58,13 @@ public class EmisBaseService {
|
||||
|
||||
@Autowired
|
||||
private EmisCreditCustomerMapper emisCreditCustomerMapper;
|
||||
@Autowired
|
||||
private EmisCreditCustomerRecordMapper emisCreditCustomerRecordMapper;
|
||||
|
||||
@Autowired
|
||||
private EmisCreditSalesmenMapper emisCreditSalesmenMapper;
|
||||
@Autowired
|
||||
private EmisCreditSalesmenRecordMapper emisCreditSalesmenRecordMapper;
|
||||
|
||||
@Autowired
|
||||
private ISysConfigService configService;
|
||||
@ -211,10 +215,10 @@ public class EmisBaseService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 占用下单额度
|
||||
* 新占用下单额度
|
||||
* @param emisWaybill
|
||||
*/
|
||||
public void occupyQuotaCredit(EmisWaybill emisWaybill) throws EmisBizError {
|
||||
public void newUseQuotaCredit(EmisWaybill emisWaybill) throws EmisBizError {
|
||||
String paymentType=emisWaybill.getPaymentType();
|
||||
// 月结客户
|
||||
if("2".equals(paymentType)
|
||||
@ -227,22 +231,72 @@ public class EmisBaseService {
|
||||
queryCreditCustomer.getParams().put("sendDate",emisWaybill.getSendDate());
|
||||
queryCreditCustomer.setTransType(emisWaybill.getTransType());
|
||||
List<EmisCreditCustomer> listCreditCustomer=emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer);
|
||||
|
||||
if(!CollectionUtils.isEmpty(listCreditCustomer)){
|
||||
EmisCreditCustomer item0=listCreditCustomer.get(0);
|
||||
if(emisWaybill.getFreight().compareTo(item0.getCurMoney()) == 1 ){
|
||||
// 提示异常
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度");
|
||||
}else{
|
||||
|
||||
// 当前余额,变动后余额,变动金额
|
||||
BigDecimal curMoney=item0.getCurMoney();
|
||||
BigDecimal backBalance=curMoney.subtract(emisWaybill.getFreight());
|
||||
BigDecimal changeMoney=BigDecimal.ZERO.subtract(emisWaybill.getFreight());
|
||||
|
||||
// 扣减额度,插入扣额度数据明细
|
||||
// 重算总额度
|
||||
EmisCreditCustomerRecord itemRecord=new EmisCreditCustomerRecord();
|
||||
itemRecord.setAccCode(item0.getAccCode());
|
||||
itemRecord.setCustomerCode(item0.getCustomerCode());
|
||||
itemRecord.setBillCode(emisWaybill.getBillCode());
|
||||
itemRecord.setPreBalance(curMoney);
|
||||
itemRecord.setChangeMoney(emisWaybill.getFreight());
|
||||
itemRecord.setChangeType("2");
|
||||
itemRecord.setBackBalance(backBalance);
|
||||
emisCreditCustomerRecordMapper.insertEmisCreditCustomerRecord(itemRecord);
|
||||
|
||||
// 更新余额
|
||||
emisCreditCustomerMapper.changeBalance(item0.getAccCode(),changeMoney);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
}else if("1".equals(paymentType)
|
||||
|| "3".equals(paymentType)
|
||||
){
|
||||
// 现金额度占用
|
||||
EmisCreditSalesmen queryCreditSalesmen= new EmisCreditSalesmen();
|
||||
queryCreditSalesmen.setSalesmen(emisWaybill.getSalesmen());
|
||||
queryCreditSalesmen.getParams().put("sendDate",emisWaybill.getSendDate());
|
||||
queryCreditSalesmen.setTransType(emisWaybill.getTransType());
|
||||
List<EmisCreditSalesmen> listCreditSalesmen=emisCreditSalesmenMapper.selectEmisCreditSalesmenList(queryCredit);
|
||||
|
||||
if(!CollectionUtils.isEmpty(listCreditSalesmen)){
|
||||
EmisCreditSalesmen item0=listCreditSalesmen.get(0);
|
||||
if(emisWaybill.getFreight().compareTo(item0.getCurMoney()) == 1 ){
|
||||
// 提示异常
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度");
|
||||
}else{
|
||||
|
||||
// 当前余额,变动后余额,变动金额
|
||||
BigDecimal curMoney=item0.getCurMoney();
|
||||
BigDecimal backBalance=curMoney.subtract(emisWaybill.getFreight());
|
||||
BigDecimal changeMoney=BigDecimal.ZERO.subtract(emisWaybill.getFreight());
|
||||
|
||||
// 扣减额度,插入扣额度数据明细
|
||||
EmisCreditSalesmenRecord itemRecord=new EmisCreditSalesmenRecord();
|
||||
itemRecord.setAccCode(item0.getAccCode());
|
||||
itemRecord.setSalesmen(item0.getSalesmen());
|
||||
itemRecord.setBillCode(emisWaybill.getBillCode());
|
||||
itemRecord.setPreBalance(curMoney);
|
||||
itemRecord.setChangeMoney(emisWaybill.getFreight());
|
||||
itemRecord.setChangeType("2");
|
||||
itemRecord.setBackBalance(backBalance);
|
||||
emisCreditSalesmenRecordMapper.insertEmisCreditSalesmenRecord(itemRecord);
|
||||
|
||||
// 更新余额
|
||||
emisCreditSalesmenMapper.changeBalance(item0.getAccCode(),changeMoney);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
package com.xdadan.erp.emis.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditCustomer;
|
||||
@ -75,6 +77,9 @@ public class EmisCreditCustomerServiceImpl implements IEmisCreditCustomerService
|
||||
@Override
|
||||
public int insertEmisCreditCustomer(EmisCreditCustomer emisCreditCustomer)
|
||||
{
|
||||
// 生成accCode
|
||||
String accCode= WaybillHelper.genCreditAccCode();
|
||||
emisCreditCustomer.setAccCode(accCode);
|
||||
return emisCreditCustomerMapper.insertEmisCreditCustomer(emisCreditCustomer);
|
||||
}
|
||||
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
package com.xdadan.erp.emis.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.xdadan.erp.emis.domain.EmisCreditSalesmenRecord;
|
||||
@ -75,6 +77,9 @@ public class EmisCreditSalesmenRecordServiceImpl implements IEmisCreditSalesmenR
|
||||
@Override
|
||||
public int insertEmisCreditSalesmenRecord(EmisCreditSalesmenRecord emisCreditSalesmenRecord)
|
||||
{
|
||||
// 生成accCode
|
||||
String accCode= WaybillHelper.genCreditAccCode();
|
||||
emisCreditSalesmenRecord.setAccCode(accCode);
|
||||
return emisCreditSalesmenRecordMapper.insertEmisCreditSalesmenRecord(emisCreditSalesmenRecord);
|
||||
}
|
||||
|
||||
|
||||
@ -3010,11 +3010,15 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
calcWayBillCommonInfo(emisWaybillSave,null,true);
|
||||
|
||||
|
||||
// 图片标识
|
||||
String goodsPicsStr=emisWaybillSave.getGoodsPics();
|
||||
if(!StringUtils.isEmpty(goodsPicsStr)) {
|
||||
emisWaybillSave.setGoodsPics("1");
|
||||
}
|
||||
|
||||
// 新占用信用额度
|
||||
newUseQuotaCredit(emisWaybillSave);
|
||||
|
||||
//插入新单
|
||||
emisWaybillMapper.insertEmisWaybill(emisWaybillSave);
|
||||
|
||||
|
||||
@ -59,6 +59,17 @@ public class WaybillHelper {
|
||||
return payId.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 信用账户号生成
|
||||
* @return
|
||||
*/
|
||||
public static String genCreditAccCode(){
|
||||
Snowflake snowflake = IdUtil.getSnowflake(0, 0);
|
||||
Long payId = snowflake.nextId();
|
||||
return payId.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 成本号生成
|
||||
* @return
|
||||
|
||||
@ -201,6 +201,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="changeBalance" >
|
||||
update emis_credit_customer set cur_money = cur_money + #{changeMoney} where acc_code = #{accCode}
|
||||
</update>
|
||||
|
||||
|
||||
<delete id="deleteEmisCreditCustomerById" parameterType="Long">
|
||||
update emis_credit_customer set del_flag='1' where id = #{id}
|
||||
</delete>
|
||||
|
||||
@ -180,6 +180,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="changeBalance" >
|
||||
update emis_credit_salesmen set cur_money = cur_money + #{changeMoney} where acc_code = #{accCode}
|
||||
</update>
|
||||
|
||||
<delete id="deleteEmisCreditSalesmenById" parameterType="Long">
|
||||
update emis_credit_salesmen set del_flag='1' where id = #{id}
|
||||
</delete>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user