diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostQuotePriceController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostQuotePriceController.java
new file mode 100644
index 000000000..0600e7d00
--- /dev/null
+++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostQuotePriceController.java
@@ -0,0 +1,134 @@
+
+/**
+ * @Project: emis
+ * @Title: EmisTmsCostQuotePriceController.java
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description:
TMS网点间供应商成本报价 控制器
+ */
+
+package com.xdadan.erp.web.emis;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xdadan.erp.common.annotation.Log;
+import com.xdadan.erp.common.core.controller.BaseController;
+import com.xdadan.erp.common.core.domain.AjaxResult;
+import com.xdadan.erp.common.core.page.TableDataInfo;
+import com.xdadan.erp.common.enums.BusinessType;
+import com.xdadan.erp.common.utils.StringUtils;
+import com.xdadan.erp.common.utils.poi.ExcelUtil;
+
+import com.xdadan.erp.emis.domain.EmisTmsCostQuotePrice;
+import com.xdadan.erp.emis.service.IEmisTmsCostQuotePriceService;
+
+/**
+ * TMS网点间供应商成本报价Controller
+ *
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ */
+@RestController
+@RequestMapping("/emis/emisTmsCostQuotePrice")
+public class EmisTmsCostQuotePriceController extends BaseController
+{
+ @Autowired
+ private IEmisTmsCostQuotePriceService emisTmsCostQuotePriceService;
+
+ /**
+ * 查询TMS网点间供应商成本报价列表
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ startPage();
+ List list = emisTmsCostQuotePriceService.selectEmisTmsCostQuotePriceList(emisTmsCostQuotePrice);
+ return getDataTable(list);
+ }
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisTmsCostQuotePrice
+ * @return 数量
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:list')")
+ @GetMapping("/checkUnique")
+ public AjaxResult checkUnique(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ int cnt=emisTmsCostQuotePriceService.checkUnique(emisTmsCostQuotePrice);
+ return AjaxResult.success("检查成功",cnt);
+ }
+
+
+ /**
+ * 导出TMS网点间供应商成本报价列表
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:export')")
+ @Log(title = "TMS网点间供应商成本报价", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ List list = emisTmsCostQuotePriceService.selectEmisTmsCostQuotePriceList(emisTmsCostQuotePrice);
+ ExcelUtil util = new ExcelUtil(EmisTmsCostQuotePrice.class);
+ util.exportExcel(response, list, "TMS网点间供应商成本报价数据");
+ }
+
+ /**
+ * 获取TMS网点间供应商成本报价详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return AjaxResult.success(emisTmsCostQuotePriceService.selectEmisTmsCostQuotePriceById(id));
+ }
+
+ /**
+ * 新增TMS网点间供应商成本报价
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:add')")
+ @Log(title = "TMS网点间供应商成本报价", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return toAjax(emisTmsCostQuotePriceService.insertEmisTmsCostQuotePrice(emisTmsCostQuotePrice));
+ }
+
+ /**
+ * 修改TMS网点间供应商成本报价
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:edit')")
+ @Log(title = "TMS网点间供应商成本报价", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return toAjax(emisTmsCostQuotePriceService.updateEmisTmsCostQuotePrice(emisTmsCostQuotePrice));
+ }
+
+ /**
+ * 删除TMS网点间供应商成本报价
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisTmsCostQuotePrice:remove')")
+ @Log(title = "TMS网点间供应商成本报价", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(emisTmsCostQuotePriceService.deleteEmisTmsCostQuotePriceByIds(ids));
+ }
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostQuotePrice.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostQuotePrice.java
new file mode 100644
index 000000000..cb60821c0
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTmsCostQuotePrice.java
@@ -0,0 +1,61 @@
+/**
+ * @Project: emis
+ * @Title: EmisTmsCostQuotePrice.java
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: TMS网点间供应商成本报价 实体类
+ */
+
+package com.xdadan.erp.emis.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.xdadan.erp.common.annotation.Excel;
+import com.xdadan.erp.common.core.domain.BaseEntity;
+import com.xdadan.erp.common.core.domain.TreeEntity;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * @ClassName EmisTmsCostQuotePrice
+ * @Description TMS网点间供应商成本报价
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ */
+ @Data
+public class EmisTmsCostQuotePrice extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /* id */
+ private Long id;
+ /* 起始网点 */
+ private String startSiteCode;
+ /* 下一网点 */
+ private String nextSiteCode;
+ /* 网点距离km */
+ private BigDecimal distance;
+ /* 费用类型 运输费 */
+ private String feeType;
+ /* 计费单价 */
+ private BigDecimal price;
+ /* 费用币种 */
+ private String currency;
+ /* 计费类型 1-重量计费 2-体积计费 */
+ private String billType;
+ /* 供应商代码 */
+ private String supplierCode;
+ /* 开始日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date startDate;
+ /* 结束日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endDate;
+
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCostFeeSplitMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCostFeeSplitMapper.java
index 03c2ecb6b..0c6ff7f0b 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCostFeeSplitMapper.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsCostFeeSplitMapper.java
@@ -52,7 +52,7 @@ public interface EmisTmsCostFeeSplitMapper extends BaseMapper TMS网点间供应商成本报价 Mapper 接口
+ * Warning : This file is generate by ai tools,don't edit!!!
+ */
+package com.xdadan.erp.emis.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xdadan.erp.emis.domain.EmisTmsCostQuotePrice;
+/**
+ * @ClassName EmisTmsCostQuotePriceMapper
+ * @Description TMS网点间供应商成本报价 Mapper 接口
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ */
+public interface EmisTmsCostQuotePriceMapper extends BaseMapper
+{
+ /**
+ * 主键查询
+ * @param id
+ * @return
+ */
+ public EmisTmsCostQuotePrice selectEmisTmsCostQuotePriceById(Long id);
+
+ /**
+ * 查询列表
+ *
+ * @param emisTmsCostQuotePrice
+ * @return 集合
+ */
+ public List selectEmisTmsCostQuotePriceList(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisTmsCostQuotePrice
+ * @return 数量
+ */
+ public int checkUnique(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+
+ /**
+ * 新增
+ *
+ * @param emisTmsCostQuotePrice
+ * @return
+ */
+ public int insertEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+ /**
+ * 修改
+ *
+ * @param emisTmsCostQuotePrice
+ * @return
+ */
+ public int updateEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+ /**
+ * 删除
+ *
+ * @param id 主键
+ * @return 结果
+ */
+ public int deleteEmisTmsCostQuotePriceById(Long id);
+
+ /**
+ * 批量删除
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteEmisTmsCostQuotePriceByIds(Long[] ids);
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCostQuotePriceService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCostQuotePriceService.java
new file mode 100644
index 000000000..a0cfa0d75
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsCostQuotePriceService.java
@@ -0,0 +1,78 @@
+ /**
+ * @Project: emis
+ * @Title: EmisTmsCostQuotePriceService.java
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: TMS网点间供应商成本报价 服务类接口
+ */
+package com.xdadan.erp.emis.service;
+
+import java.util.List;
+import com.xdadan.erp.emis.domain.EmisTmsCostQuotePrice;
+
+/**
+ * @ClassName EmisTmsCostQuotePriceService
+ * @Description TMS网点间供应商成本报价
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ */
+public interface IEmisTmsCostQuotePriceService
+{
+ /**
+ * 主键查询
+ * @param id
+ * @return
+ */
+ public EmisTmsCostQuotePrice selectEmisTmsCostQuotePriceById(Long id);
+
+ /**
+ * 查询TMS网点间供应商成本报价列表
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return TMS网点间供应商成本报价集合
+ */
+ public List selectEmisTmsCostQuotePriceList(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisTmsCostQuotePrice
+ * @return 数量
+ */
+ public int checkUnique(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+ /**
+ * 新增TMS网点间供应商成本报价
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return 结果
+ */
+ public int insertEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+ /**
+ * 修改TMS网点间供应商成本报价
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return 结果
+ */
+ public int updateEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice);
+
+ /**
+ * 批量删除TMS网点间供应商成本报价
+ *
+ * @param ids 需要删除的TMS网点间供应商成本报价主键集合
+ * @return 结果
+ */
+ public int deleteEmisTmsCostQuotePriceByIds(Long[] ids);
+
+ /**
+ * 删除TMS网点间供应商成本报价信息
+ *
+ * @param id TMS网点间供应商成本报价主键
+ * @return 结果
+ */
+ public int deleteEmisTmsCostQuotePriceById(Long id);
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java
index 074bec01c..44ce5469a 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java
@@ -373,10 +373,12 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
@Transactional
public int mergeCostFeeByBillCode(String billCode) throws EmisBizError {
+ // 判断是虚拟单还是主单
+ EmisWaybill emisWaybill=emisWaybillMapper.selectEmisWaybillByBillCode(billCode);
+
EmisTmsCostProfit emisTmsCostProfit=emisTmsCostProfitMapper.selectEmisTmsCostProfitByBillCode(billCode);
if(emisTmsCostProfit==null){
// 获取成本数据
- EmisWaybill emisWaybill=emisWaybillMapper.selectEmisWaybillByBillCode(billCode);
emisTmsCostProfit = new EmisTmsCostProfit();
emisTmsCostProfit.setBillCode(emisWaybill.getBillCode());
emisTmsCostProfit.setBillFee(emisWaybill.getFreight());
@@ -388,8 +390,8 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
updProfit.setId(emisTmsCostProfit.getId());
updProfit.setBillFee(emisTmsCostProfit.getBillFee());
- // 获取成本费用
- double costFee=emisTmsCostFeeSplitMapper.getCostFeeByBillCode(billCode);
+ // 获取主单成本费用
+ double costFee=emisTmsCostFeeSplitMapper.getCostFeeByMainBillCode(billCode);
updProfit.setCostFee(BigDecimal.valueOf(costFee));
updProfit.setBillProfit(emisTmsCostProfit.getBillFee().subtract(updProfit.getCostFee()));
emisTmsCostProfitMapper.updateEmisTmsCostProfit(updProfit);
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostQuotePriceServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostQuotePriceServiceImpl.java
new file mode 100644
index 000000000..75f25532a
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostQuotePriceServiceImpl.java
@@ -0,0 +1,117 @@
+ /**
+ * @Project: emis
+ * @Title: EmisTmsCostQuotePriceServiceImpl.java
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: TMS网点间供应商成本报价 实体类
+ */
+
+package com.xdadan.erp.emis.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.xdadan.erp.emis.domain.EmisTmsCostQuotePrice;
+import com.xdadan.erp.emis.mapper.EmisTmsCostQuotePriceMapper;
+import com.xdadan.erp.emis.service.IEmisTmsCostQuotePriceService;
+
+/**
+ * TMS网点间供应商成本报价Service业务层处理
+ *
+ * @author linfso
+ * @date 2025-06-29 14:27:48
+ */
+@Service
+public class EmisTmsCostQuotePriceServiceImpl implements IEmisTmsCostQuotePriceService
+{
+ @Autowired
+ private EmisTmsCostQuotePriceMapper emisTmsCostQuotePriceMapper;
+
+ /**
+ * 查询TMS网点间供应商成本报价
+ *
+ * @param id TMS网点间供应商成本报价主键
+ * @return TMS网点间供应商成本报价
+ */
+ @Override
+ public EmisTmsCostQuotePrice selectEmisTmsCostQuotePriceById(Long id)
+ {
+ return emisTmsCostQuotePriceMapper.selectEmisTmsCostQuotePriceById(id);
+ }
+
+
+ /**
+ * 查询TMS网点间供应商成本报价列表
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return TMS网点间供应商成本报价
+ */
+ @Override
+ public List selectEmisTmsCostQuotePriceList(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return emisTmsCostQuotePriceMapper.selectEmisTmsCostQuotePriceList(emisTmsCostQuotePrice);
+ }
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisTmsCostQuotePrice
+ * @return 数量
+ */
+ @Override
+ public int checkUnique(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return emisTmsCostQuotePriceMapper.checkUnique(emisTmsCostQuotePrice);
+ }
+
+ /**
+ * 新增TMS网点间供应商成本报价
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return 结果
+ */
+ @Override
+ public int insertEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return emisTmsCostQuotePriceMapper.insertEmisTmsCostQuotePrice(emisTmsCostQuotePrice);
+ }
+
+ /**
+ * 修改TMS网点间供应商成本报价
+ *
+ * @param emisTmsCostQuotePrice TMS网点间供应商成本报价
+ * @return 结果
+ */
+ @Override
+ public int updateEmisTmsCostQuotePrice(EmisTmsCostQuotePrice emisTmsCostQuotePrice)
+ {
+ return emisTmsCostQuotePriceMapper.updateEmisTmsCostQuotePrice(emisTmsCostQuotePrice);
+ }
+
+ /**
+ * 批量删除TMS网点间供应商成本报价
+ *
+ * @param ids 需要删除的TMS网点间供应商成本报价主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEmisTmsCostQuotePriceByIds(Long[] ids)
+ {
+ return emisTmsCostQuotePriceMapper.deleteEmisTmsCostQuotePriceByIds(ids);
+ }
+
+ /**
+ * 删除TMS网点间供应商成本报价信息
+ *
+ * @param id TMS网点间供应商成本报价主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEmisTmsCostQuotePriceById(Long id)
+ {
+ return emisTmsCostQuotePriceMapper.deleteEmisTmsCostQuotePriceById(id);
+ }
+
+}
diff --git a/emis-biz/src/main/resources/mapper/EmisTmsCostFeeSplitMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsCostFeeSplitMapper.xml
index af3867e7e..d02174f17 100644
--- a/emis-biz/src/main/resources/mapper/EmisTmsCostFeeSplitMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisTmsCostFeeSplitMapper.xml
@@ -172,7 +172,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
-