This commit is contained in:
linfso 2025-06-30 19:57:50 +08:00
parent 1b8f9269d2
commit e627243b04
3 changed files with 22 additions and 4 deletions

View File

@ -13,6 +13,8 @@ package com.xdadan.erp.emis.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xdadan.erp.emis.domain.EmisTmsCostFeeSplit;
import org.apache.ibatis.annotations.Param;
/**
* @ClassName EmisTmsCostFeeSplitMapper
* @Description <p> 成本费用分摊明细 Mapper 接口 </p>
@ -80,6 +82,8 @@ public interface EmisTmsCostFeeSplitMapper extends BaseMapper<EmisTmsCostFeeSpli
public int deleteEmisTmsCostFeeSplitByCostNo(String costNo);
public int deleteByCostNoAndBillCode(@Param("costNo") String costNo,@Param("BillCode") String BillCode);
public int deleteEmisTmsCostFeeSplitByBillCode(String BillCode);
/**

View File

@ -301,6 +301,11 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
){
EmisTmsCostFeeSplit splitItem = new EmisTmsCostFeeSplit();
splitItem.setBillCode(billCode);
splitItem.setMainBillCode(billCode);
splitItem.setBillWeight(waybill.getBillWeight()); // 运单重量
splitItem.setTotalVolume(waybill.getTotalVolume()); // 运单体积
// 运输成本
splitItem.setBlManual("1"); // 手工计算
splitItem.setCostNo("-1"); // 固定成本
@ -329,6 +334,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
if(waybill.getBillWeight().doubleValue() <= 1.0){
itemCalcExpr="s";
}
String calcExprStr=getCalcFeeExpStr(itemCalcExpr,waybill.getBillWeight(),BigDecimal.valueOf(15.0D),BigDecimal.valueOf(1.5D));
double costFee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString());
log.info("网点派送费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString());
@ -403,7 +409,6 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
emisTmsCostFeeSplitMapper.insertEmisTmsCostFeeSplit(splitItem);
}
// 搜索已录入成本的费用分摊
List<CostFeeWaybillRel> listBillCodeRel=emisTmsCostFeeMapper.selectCostFeeRelListByBillCode(billCode);
if(!CollectionUtil.isEmpty(listBillCodeRel)){
@ -565,7 +570,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
if(StringUtils.isEmpty(calcBillCode)) {
emisTmsCostFeeSplitMapper.deleteEmisTmsCostFeeSplitByCostNo(costNo);
}else{
emisTmsCostFeeSplitMapper.deleteEmisTmsCostFeeSplitByBillCode(calcBillCode);
emisTmsCostFeeSplitMapper.deleteByCostNoAndBillCode(costNo,calcBillCode);
}
Integer pieceNumber = 0;
@ -659,9 +664,11 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
costFee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString());
log.info("按票分摊:计算公式:" + calcExprStr + ",票数:1");
}
splitItem.setCostFee(BigDecimal.valueOf(costFee));
BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP);
splitItem.setCostFee(splitCostFee);
splitItem.setCalcExpr(itemCalcExpr);
splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(costFee));
splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(splitCostFee));
splitItem.setRemark("批次成本分摊费用");
// 插入分摊明细数据

View File

@ -260,6 +260,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update emis_tms_cost_fee_split set del_flag='1' where del_flag='0' and cost_no = #{costNo}
</delete>
<delete id="deleteByCostNoAndBillCode" >
update emis_tms_cost_fee_split set del_flag='1'
where del_flag='0'
and cost_no = #{costNo}
and bill_code = #{billCode}
</delete>
<delete id="deleteEmisTmsCostFeeSplitById" parameterType="Long">
update emis_tms_cost_fee_split set del_flag='1' where id = #{id}
</delete>