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