md
This commit is contained in:
parent
5186ff16ab
commit
0dcc5fbb81
@ -13,7 +13,9 @@ package com.xdadan.erp.emis.mapper;
|
|||||||
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.EmisTmsCostFee;
|
import com.xdadan.erp.emis.domain.EmisTmsCostFee;
|
||||||
|
import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||||
import com.xdadan.erp.emis.domain.vo.cost.CostFeeWaybillRel;
|
import com.xdadan.erp.emis.domain.vo.cost.CostFeeWaybillRel;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName EmisTmsCostFeeMapper
|
* @ClassName EmisTmsCostFeeMapper
|
||||||
@ -33,6 +35,8 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
|
|||||||
|
|
||||||
public EmisTmsCostFee selectEmisTmsCostFeeByCostNo(String costNo);
|
public EmisTmsCostFee selectEmisTmsCostFeeByCostNo(String costNo);
|
||||||
|
|
||||||
|
public EmisWaybill selectThinWaybillInfoByCostFeeCalc(@Param("billCode")String billCode);
|
||||||
|
|
||||||
public EmisTmsCostFee selectEmisTmsCostFeeByBatchNo(String batchNo);
|
public EmisTmsCostFee selectEmisTmsCostFeeByBatchNo(String batchNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,6 +54,7 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
|
|||||||
*/
|
*/
|
||||||
public List<CostFeeWaybillRel> selectCostFeeRelListByBillCode(String billCode);
|
public List<CostFeeWaybillRel> selectCostFeeRelListByBillCode(String billCode);
|
||||||
|
|
||||||
|
// 成本和费用关系
|
||||||
public List<CostFeeWaybillRel> selectCostFeeRelListByCostNo(String costNo);
|
public List<CostFeeWaybillRel> selectCostFeeRelListByCostNo(String costNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -30,6 +30,15 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface EmisWaybillMapper extends BaseMapper<EmisWaybill>
|
public interface EmisWaybillMapper extends BaseMapper<EmisWaybill>
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取最基础的bill对象
|
||||||
|
* @param billCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public EmisWaybill selectWaybillBaseInfoByBillCode(@Param("billCode")String billCode);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public EmisWaybill selectEmisWaybillByBillCode(@Param("billCode")String billCode);
|
public EmisWaybill selectEmisWaybillByBillCode(@Param("billCode")String billCode);
|
||||||
|
|
||||||
public EmisWaybill selectMasterWaybillByBillCode(@Param("billCode")String billCode);
|
public EmisWaybill selectMasterWaybillByBillCode(@Param("billCode")String billCode);
|
||||||
|
|||||||
@ -19,12 +19,14 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.googlecode.aviator.AviatorEvaluator;
|
import com.googlecode.aviator.AviatorEvaluator;
|
||||||
|
import com.xdadan.erp.common.core.domain.entity.SysUser;
|
||||||
import com.xdadan.erp.common.utils.DateUtils;
|
import com.xdadan.erp.common.utils.DateUtils;
|
||||||
import com.xdadan.erp.emis.domain.*;
|
import com.xdadan.erp.emis.domain.*;
|
||||||
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
|
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
|
||||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
import com.xdadan.erp.emis.domain.vo.cost.CostFeeWaybillRel;
|
import com.xdadan.erp.emis.domain.vo.cost.CostFeeWaybillRel;
|
||||||
import com.xdadan.erp.emis.mapper.*;
|
import com.xdadan.erp.emis.mapper.*;
|
||||||
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
@ -46,7 +48,7 @@ import static org.apache.commons.lang3.time.DateUtils.parseDate;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
public class EmisTmsCostFeeServiceImpl extends EmisBaseService implements IEmisTmsCostFeeService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmisTmsCostFeeMapper emisTmsCostFeeMapper;
|
private EmisTmsCostFeeMapper emisTmsCostFeeMapper;
|
||||||
@ -127,9 +129,6 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public int insertEmisTmsCostFee(EmisTmsCostFee emisTmsCostFee) throws EmisBizError {
|
public int insertEmisTmsCostFee(EmisTmsCostFee emisTmsCostFee) throws EmisBizError {
|
||||||
// if(CollectionUtils.isEmpty(emisTmsCostFee.getBillRelList())){
|
|
||||||
// throw new EmisBizError(EmisBizErrorType.FAIL,"关联单号不能为空");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 判断是否重复录入
|
// 判断是否重复录入
|
||||||
int cnt=emisTmsCostFeeMapper.checkUnique(emisTmsCostFee);
|
int cnt=emisTmsCostFeeMapper.checkUnique(emisTmsCostFee);
|
||||||
@ -137,15 +136,8 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
throw new EmisBizError(EmisBizErrorType.FAIL,"费用录入重复");
|
throw new EmisBizError(EmisBizErrorType.FAIL,"费用录入重复");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
String costNo = WaybillHelper.genCostNo();
|
String costNo = WaybillHelper.genCostNo();
|
||||||
emisTmsCostFee.setCostNo(costNo);
|
emisTmsCostFee.setCostNo(costNo);
|
||||||
// 插入关联单号
|
|
||||||
// for (EmisTmsCostFeeRel costFeeRelItem:emisTmsCostFee.getBillRelList()) {
|
|
||||||
// costFeeRelItem.setId(null);
|
|
||||||
// costFeeRelItem.setCostNo(costNo);
|
|
||||||
// emisTmsCostFeeRelMapper.insertEmisTmsCostFeeRel(costFeeRelItem);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 总票数
|
// 总票数
|
||||||
emisTmsCostFee.setSendPieceSum(emisTmsCostFee.getBillRelList().size());
|
emisTmsCostFee.setSendPieceSum(emisTmsCostFee.getBillRelList().size());
|
||||||
@ -226,10 +218,8 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
@Transactional
|
@Transactional
|
||||||
public int reCalcCostFeeByBillCode(String billCode) throws EmisBizError {
|
public int reCalcCostFeeByBillCode(String billCode) throws EmisBizError {
|
||||||
|
|
||||||
|
// 获取运单基础数据
|
||||||
|
EmisWaybill waybill=emisWaybillMapper.selectWaybillBaseInfoByBillCode(billCode);
|
||||||
// 计算固定成本费用-取件费
|
|
||||||
EmisWaybill waybill=emisWaybillMapper.selectEmisWaybillByBillCode(billCode);
|
|
||||||
if(waybill==null){
|
if(waybill==null){
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL,"运单不存在");
|
throw new EmisBizError(EmisBizErrorType.FAIL,"运单不存在");
|
||||||
}
|
}
|
||||||
@ -242,11 +232,41 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
String mainBillCode = billCode;
|
String mainBillCode = billCode;
|
||||||
if( "1".equals(waybill.getBlVirtual()) ){
|
if( "1".equals(waybill.getBlVirtual()) ){
|
||||||
mainBillCode=waybill.getMasterBillCode();
|
mainBillCode=waybill.getMasterBillCode();
|
||||||
mainWaybill=emisWaybillMapper.selectEmisWaybillByBillCode(mainBillCode);
|
mainWaybill=emisWaybillMapper.selectWaybillBaseInfoByBillCode(mainBillCode);
|
||||||
}else{
|
}else{
|
||||||
mainWaybill=waybill;
|
mainWaybill=waybill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 计算固定成本费用-取件费
|
||||||
|
reCalcFixedCostFee(billCode,mainBillCode,waybill,mainWaybill);
|
||||||
|
|
||||||
|
// 搜索已录入成本的费用分摊
|
||||||
|
List<CostFeeWaybillRel> listBillCodeRel=emisTmsCostFeeMapper.selectCostFeeRelListByBillCode(billCode);
|
||||||
|
if(!CollectionUtil.isEmpty(listBillCodeRel)){
|
||||||
|
for(CostFeeWaybillRel item:listBillCodeRel){
|
||||||
|
try {
|
||||||
|
reCalcCostFeeOnlyOne(item.getCostNo(),billCode,false);
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mergeCostFeeByBillCode(billCode);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算固定成本
|
||||||
|
* @param billCode
|
||||||
|
* @param mainBillCode
|
||||||
|
* @param waybill
|
||||||
|
* @param mainWaybill
|
||||||
|
*/
|
||||||
|
private void reCalcFixedCostFee(String billCode,String mainBillCode,EmisWaybill waybill,EmisWaybill mainWaybill){
|
||||||
|
|
||||||
// bug:1682 (1)快递类型的货(取件费):寄件国家:中国,取件方式:上门取件,取件成本:首重1Kg 10元,续重1kg 1元
|
// bug:1682 (1)快递类型的货(取件费):寄件国家:中国,取件方式:上门取件,取件成本:首重1Kg 10元,续重1kg 1元
|
||||||
// 只有主单才会计算取件费
|
// 只有主单才会计算取件费
|
||||||
if("2".equals(mainWaybill.getPickupMethod())
|
if("2".equals(mainWaybill.getPickupMethod())
|
||||||
@ -267,12 +287,29 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
splitItem.setTransWeight(mainWaybill.getBillWeight()); // 运输重量
|
splitItem.setTransWeight(mainWaybill.getBillWeight()); // 运输重量
|
||||||
splitItem.setTransVolume(mainWaybill.getTotalVolume()); // 运输体积
|
splitItem.setTransVolume(mainWaybill.getTotalVolume()); // 运输体积
|
||||||
|
|
||||||
|
// 取件员,取件网点
|
||||||
|
String takeEmpName=null;
|
||||||
|
if(!StringUtils.isEmpty(mainWaybill.getTakePieceEmployeeCode())) {
|
||||||
|
SysUser takeEmpUser = getEmisStaffByCode(mainWaybill.getTakePieceEmployeeCode());
|
||||||
|
if (takeEmpUser != null) {
|
||||||
|
takeEmpName = takeEmpUser.getEmpName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String sendSiteName=null;
|
||||||
|
if(!StringUtils.isEmpty(mainWaybill.getSendSiteCode())) {
|
||||||
|
EmisSite sendSite = getSiteByCode(mainWaybill.getSendSiteCode());
|
||||||
|
if (sendSite != null) {
|
||||||
|
sendSiteName = sendSite.getSiteName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 供应商
|
// 供应商
|
||||||
splitItem.setSupplierCode("10213"); // 供应商
|
splitItem.setSupplierCode("10213"); // 供应商
|
||||||
splitItem.setTransSignNo(mainWaybill.getTakePieceEmployeeName()); // 运输号
|
splitItem.setTransSignNo(takeEmpName); // 运输号
|
||||||
|
|
||||||
splitItem.setSendPlace("客户现场");
|
splitItem.setSendPlace("客户现场");
|
||||||
splitItem.setDestPlace(mainWaybill.getSendSiteName());
|
splitItem.setDestPlace(sendSiteName);
|
||||||
splitItem.setBillMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM,mainWaybill.getSendDate()));
|
splitItem.setBillMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM,mainWaybill.getSendDate()));
|
||||||
splitItem.setTradeDate(mainWaybill.getSendDate());
|
splitItem.setTradeDate(mainWaybill.getSendDate());
|
||||||
|
|
||||||
@ -298,7 +335,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
splitItem.setCurrency("CNY");
|
splitItem.setCurrency("CNY");
|
||||||
splitItem.setCalcExpr(itemCalcExpr);
|
splitItem.setCalcExpr(itemCalcExpr);
|
||||||
splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString());
|
splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString());
|
||||||
splitItem.setRemark("网点上门取件费:取件员["+waybill.getTakePieceEmployeeName()+"]");
|
splitItem.setRemark("网点上门取件费:取件员["+takeEmpName+"]");
|
||||||
|
|
||||||
// 总成本费用=本次取件费
|
// 总成本费用=本次取件费
|
||||||
splitItem.setTransCostFee(splitCostFee);
|
splitItem.setTransCostFee(splitCostFee);
|
||||||
@ -339,12 +376,29 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
splitItem.setTransWeight(mainWaybill.getBillWeight()); // 运输重量
|
splitItem.setTransWeight(mainWaybill.getBillWeight()); // 运输重量
|
||||||
splitItem.setTransVolume(mainWaybill.getTotalVolume()); // 运输体积
|
splitItem.setTransVolume(mainWaybill.getTotalVolume()); // 运输体积
|
||||||
|
|
||||||
|
// 取件员,取件网点
|
||||||
|
String dispathEmpName=null;
|
||||||
|
if(!StringUtils.isEmpty(mainWaybill.getTakePieceEmployeeCode())) {
|
||||||
|
SysUser dispathEmpUser = getEmisStaffByCode(mainWaybill.getDispatchManCode());
|
||||||
|
if (dispathEmpUser != null) {
|
||||||
|
dispathEmpName = dispathEmpUser.getEmpName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String dispatchUnderlingSiteName=null;
|
||||||
|
if(!StringUtils.isEmpty(mainWaybill.getDispatchUnderlingSiteCode())) {
|
||||||
|
EmisSite dispatchUnderlingSite = getSiteByCode(mainWaybill.getDispatchUnderlingSiteCode());
|
||||||
|
if (dispatchUnderlingSite != null) {
|
||||||
|
dispatchUnderlingSiteName = dispatchUnderlingSite.getSiteName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 供应商
|
// 供应商
|
||||||
splitItem.setSupplierCode("10214"); // 供应商
|
splitItem.setSupplierCode("10214"); // 供应商
|
||||||
splitItem.setTransSignNo(mainWaybill.getDispatchManName()); // 运输号
|
splitItem.setTransSignNo(dispathEmpName); // 运输号
|
||||||
|
|
||||||
// 目的网点到客户现场
|
// 目的网点到客户现场
|
||||||
splitItem.setSendPlace(mainWaybill.getDispatchUnderlingSiteName());
|
splitItem.setSendPlace(dispatchUnderlingSiteName);
|
||||||
splitItem.setDestPlace("客户现场");
|
splitItem.setDestPlace("客户现场");
|
||||||
|
|
||||||
splitItem.setBillMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM,waybill.getSendDate()));
|
splitItem.setBillMonth(DateUtils.parseDateToStr(DateUtils.YYYY_MM,waybill.getSendDate()));
|
||||||
@ -374,13 +428,13 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
splitItem.setCalcExpr(itemCalcExpr);
|
splitItem.setCalcExpr(itemCalcExpr);
|
||||||
splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString());
|
splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString());
|
||||||
|
|
||||||
splitItem.setRemark("网点派送费(首重:2美金/15元,续重:0.2美金/1.5元/kg)-派件员:"+waybill.getDispatchManName());
|
splitItem.setRemark("网点派送费(首重:2美金/15元,续重:0.2美金/1.5元/kg)-派件员:"+dispatchUnderlingSiteName);
|
||||||
|
|
||||||
// 总成本费用=本次取件费
|
// 总成本费用=本次取件费
|
||||||
splitItem.setTransCostFee(splitCostFee);
|
splitItem.setTransCostFee(splitCostFee);
|
||||||
splitItem.setCnyFee(splitCostFee);
|
splitItem.setCnyFee(splitCostFee);
|
||||||
|
|
||||||
// 先删除取件费,再插入
|
// 先删除,再插入
|
||||||
emisTmsCostFeeSplitMapper.deleteByBillCodeAndFeeType(mainBillCode,"1003");
|
emisTmsCostFeeSplitMapper.deleteByBillCodeAndFeeType(mainBillCode,"1003");
|
||||||
|
|
||||||
// 插入分摊明细数据
|
// 插入分摊明细数据
|
||||||
@ -517,7 +571,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
|
|
||||||
String itemCalcExpr = quotePriceItem.getCalculateExpression();
|
String itemCalcExpr = quotePriceItem.getCalculateExpression();
|
||||||
|
|
||||||
// 正常计算公司
|
// 正常计算公式
|
||||||
String calcExprStr = itemCalcExpr.replaceAll("w", waybill.getBillWeight().stripTrailingZeros().toPlainString())
|
String calcExprStr = itemCalcExpr.replaceAll("w", waybill.getBillWeight().stripTrailingZeros().toPlainString())
|
||||||
.replaceAll("t", quotePriceItem.getTransWeight().stripTrailingZeros().toPlainString())
|
.replaceAll("t", quotePriceItem.getTransWeight().stripTrailingZeros().toPlainString())
|
||||||
.replaceAll("d", quotePriceItem.getPrice().stripTrailingZeros().toPlainString())
|
.replaceAll("d", quotePriceItem.getPrice().stripTrailingZeros().toPlainString())
|
||||||
@ -557,23 +611,6 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
emisTmsCostFeeSplitMapper.insertEmisTmsCostFeeSplit(splitItem);
|
emisTmsCostFeeSplitMapper.insertEmisTmsCostFeeSplit(splitItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 搜索已录入成本的费用分摊
|
|
||||||
List<CostFeeWaybillRel> listBillCodeRel=emisTmsCostFeeMapper.selectCostFeeRelListByBillCode(billCode);
|
|
||||||
if(!CollectionUtil.isEmpty(listBillCodeRel)){
|
|
||||||
for(CostFeeWaybillRel item:listBillCodeRel){
|
|
||||||
try {
|
|
||||||
reCalcCostFeeOnlyOne(item.getCostNo(),billCode,false);
|
|
||||||
}catch (Exception ex){
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
mergeCostFeeByBillCode(billCode);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -753,9 +790,6 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
// /* 总票数 总重量 总体积 */
|
// /* 总票数 总重量 总体积 */
|
||||||
BigDecimal totalWeight = BigDecimal.ZERO;
|
BigDecimal totalWeight = BigDecimal.ZERO;
|
||||||
BigDecimal totalVolume = BigDecimal.ZERO;
|
BigDecimal totalVolume = BigDecimal.ZERO;
|
||||||
// if(oldCostFee.getCostFee()==null || BigDecimal.ZERO.compareTo(oldCostFee.getCostFee()) == 0){
|
|
||||||
// throw new EmisBizError(EmisBizErrorType.FAIL,"成本费用不能为0");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 获取费用列表
|
// 获取费用列表
|
||||||
List<EmisTmsCostFeeFeeitem> listFeeItemRel=emisTmsCostFeeFeeitemMapper.selectEmisTmsCostFeeFeeitemByCostNo(costNo);
|
List<EmisTmsCostFeeFeeitem> listFeeItemRel=emisTmsCostFeeFeeitemMapper.selectEmisTmsCostFeeFeeitemByCostNo(costNo);
|
||||||
@ -807,7 +841,6 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
|
|||||||
|
|
||||||
EmisTmsCostFee costFeeDetail= billCodeItem.getCostFeeDetail();
|
EmisTmsCostFee costFeeDetail= billCodeItem.getCostFeeDetail();
|
||||||
|
|
||||||
|
|
||||||
// 循环费用类型
|
// 循环费用类型
|
||||||
for (EmisTmsCostFeeFeeitem feeItem: listFeeItemRel) {
|
for (EmisTmsCostFeeFeeitem feeItem: listFeeItemRel) {
|
||||||
EmisTmsCostFeeSplit splitItem = new EmisTmsCostFeeSplit();
|
EmisTmsCostFeeSplit splitItem = new EmisTmsCostFeeSplit();
|
||||||
|
|||||||
@ -43,11 +43,13 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<resultMap type="CostFeeWaybillRel" id="CostFeeWaybillRelResult">
|
<resultMap type="CostFeeWaybillRel" id="BaseCostFeeWaybillRelResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="costNo" column="cost_no" />
|
<result property="costNo" column="cost_no" />
|
||||||
<result property="billCode" column="bill_code" />
|
<result property="billCode" column="bill_code" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="CostFeeWaybillRel" id="CostFeeWaybillRelResult" extends="BaseCostFeeWaybillRelResult">
|
||||||
<association property="costFeeDetail"
|
<association property="costFeeDetail"
|
||||||
column="cost_no"
|
column="cost_no"
|
||||||
select="selectEmisTmsCostFeeByCostNo"
|
select="selectEmisTmsCostFeeByCostNo"
|
||||||
@ -56,7 +58,7 @@
|
|||||||
|
|
||||||
<association property="waybillDetail"
|
<association property="waybillDetail"
|
||||||
column="bill_code"
|
column="bill_code"
|
||||||
select="com.xdadan.erp.emis.mapper.EmisWaybillMapper.selectWaybillBaseInfoByBillCode"
|
select="selectThinWaybillInfoByCostFeeCalc"
|
||||||
fetchType="lazy"
|
fetchType="lazy"
|
||||||
/>
|
/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
@ -99,6 +101,24 @@
|
|||||||
AND c.cost_no = #{costNo}
|
AND c.cost_no = #{costNo}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 成本运算获取最小化运单信息 -->
|
||||||
|
<select id="selectThinWaybillInfoByCostFeeCalc" parameterType="parameterType" resultType="EmisWaybill">
|
||||||
|
SELECT
|
||||||
|
a.id,
|
||||||
|
a.bill_code as billCode,
|
||||||
|
a.total_volume as totalVolume,
|
||||||
|
a.parcel_qty parcelQty,
|
||||||
|
a.bill_weight as billWeight,
|
||||||
|
a.volume_weight as volumeWeight,
|
||||||
|
a.settlement_weight as settlementWeight,
|
||||||
|
a.freight as freight,
|
||||||
|
a.bl_virtual as blVirtual,
|
||||||
|
a.master_bill_code as masterBillCode
|
||||||
|
|
||||||
|
FROM emis_waybill a
|
||||||
|
WHERE a.del_flag = '0' and bill_code=#{billCode}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<sql id="selectEmisTmsCostFeeVo">
|
<sql id="selectEmisTmsCostFeeVo">
|
||||||
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, usd_cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_tms_cost_fee
|
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, usd_cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_tms_cost_fee
|
||||||
|
|||||||
@ -2734,6 +2734,7 @@
|
|||||||
ORDER BY a.send_date DESC
|
ORDER BY a.send_date DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<insert id="insertEmisWaybill" parameterType="EmisWaybill" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertEmisWaybill" parameterType="EmisWaybill" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into emis_waybill
|
insert into emis_waybill
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user