This commit is contained in:
linfso 2025-07-04 07:30:03 +08:00
parent 5186ff16ab
commit 0dcc5fbb81
5 changed files with 123 additions and 55 deletions

View File

@ -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);
/** /**

View File

@ -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);

View File

@ -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);
@ -316,15 +353,15 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
// 派送 // 派送
if( if(
"1".equals(mainWaybill.getCarryType()) // 快递 "1".equals(mainWaybill.getCarryType()) // 快递
&& "1".equals(mainWaybill.getDispatchMethod()) // 派送 && "1".equals(mainWaybill.getDispatchMethod()) // 派送
&& ( && (
"0855".equals(mainWaybill.getReceiveCountry()) // 柬埔寨 "0855".equals(mainWaybill.getReceiveCountry()) // 柬埔寨
|| "0095".equals(mainWaybill.getReceiveCountry()) // 缅甸 || "0095".equals(mainWaybill.getReceiveCountry()) // 缅甸
|| "0880".equals(mainWaybill.getReceiveCountry()) // 孟加拉 || "0880".equals(mainWaybill.getReceiveCountry()) // 孟加拉
|| "0084".equals(mainWaybill.getReceiveCountry()) // 越南 || "0084".equals(mainWaybill.getReceiveCountry()) // 越南
|| "0856".equals(mainWaybill.getReceiveCountry()) // 老挝 || "0856".equals(mainWaybill.getReceiveCountry()) // 老挝
) )
){ ){
EmisTmsCostFeeSplit splitItem = new EmisTmsCostFeeSplit(); EmisTmsCostFeeSplit splitItem = new EmisTmsCostFeeSplit();
splitItem.setBillCode(billCode); splitItem.setBillCode(billCode);
@ -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();

View File

@ -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

View File

@ -510,7 +510,7 @@
limit 1 limit 1
</select> </select>
<!-- 提供给扫描记录 查询使用,简化的,不包含扫描记录--> <!-- 提供给扫描记录 查询使用, 简化的,不包含扫描记录-->
<select id="selectWaybillBaseInfoByBillCode" parameterType="String" resultMap="BaseEmisWaybillResult"> <select id="selectWaybillBaseInfoByBillCode" parameterType="String" resultMap="BaseEmisWaybillResult">
<include refid="selectEmisWaybillVo"/> <include refid="selectEmisWaybillVo"/>
<where> <where>
@ -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=",">