diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransProductMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransProductMapper.java index 1e4e591b3..90d61cf45 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransProductMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransProductMapper.java @@ -1,10 +1,10 @@ -/** +/** * @Project: emis * @Title: EmisTransProductMapper.java * @author linfso * @date 2024-01-09 11:50:34 * @Copyright: ShangHai Doitinfo 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:
运输产品类型 Mapper 接口
* Warning : This file is generate by ai tools,don't edit!!! */ @@ -26,7 +26,7 @@ public interface EmisTransProductMapper extends BaseMapper运单列表 实体类
*/ @@ -58,7 +58,7 @@ package com.xdadan.erp.emis.service; /** * 运单列表Service业务层处理 - * + * * @author linfso * @date 2024-02-29 08:15:14 */ @@ -5480,6 +5480,19 @@ public class EmisBaseService { } + public void checkLineWithProd(EmisWaybill emisWaybillSave) throws EmisBizError { + if (StringUtil.isBlank(emisWaybillSave.getProductType()) || StringUtil.isBlank(emisWaybillSave.getTransLineType() + )) { + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "线路/产品类型不能为空"); + } + EmisTransProduct transProduct = emisTransProductMapper.selectTransProductByCode( + emisWaybillSave.getTransLineType(), + emisWaybillSave.getProductType()); + if (transProduct == null) { + throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "产品类型与线路不匹配"); + } + } + public static void main(String[] args) throws ParseException { // Date startDate = new Date("202"); Date startDate= new SimpleDateFormat("yyyy-MM-dd").parse("2025-05-11"); @@ -5549,4 +5562,4 @@ public class EmisBaseService { - } \ No newline at end of file + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 4638fd54e..7f9ddcd8e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -1,10 +1,10 @@ - /** + /** * @Project: emis * @Title: EmisWaybillServiceImpl.java * @author linfso * @date 2024-02-29 08:15:14 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:运单列表 实体类
*/ @@ -72,7 +72,7 @@ package com.xdadan.erp.emis.service.impl; /** * 运单列表Service业务层处理 - * + * * @author linfso * @date 2024-02-29 08:15:14 */ @@ -192,7 +192,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb /** * 查询运单列表列表 - * + * * @param emisWaybill 运单列表 * @return 运单列表 */ @@ -3130,6 +3130,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 校验寄件国家是否匹配线路 checkCountry(emisWaybillSave); + // 校验产品类型与线路是否匹配 + checkLineWithProd(emisWaybillSave); + // 子单号做扣减 if ("1".equals(emisWaybillSave.getBlGenSubbill())) { Integer subBillCount = emisElectronicSitePagService.getTotalAvailablePagCount(emisWaybillSave.getSendSiteCode(), "T7080", "1002"); @@ -3649,6 +3652,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 公共计算部分 emisWaybillSave.setId(oldEmisWaybill.getId()); + // 校验产品类型与线路是否匹配 + checkLineWithProd(emisWaybillSave); + calcWayBillCommonInfo(emisWaybillSave,oldEmisWaybill,false); emisWaybillSave.preUpdate(); diff --git a/emis-biz/src/main/resources/mapper/EmisTransProductMapper.xml b/emis-biz/src/main/resources/mapper/EmisTransProductMapper.xml index e7f91c795..8378c464e 100644 --- a/emis-biz/src/main/resources/mapper/EmisTransProductMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTransProductMapper.xml @@ -73,6 +73,12 @@ where a.trans_line_code=#{lineCode} and a.prod_name=#{prodName} limit 1 + +