demand: TMS系统 - 运输管理 -货物组批次-删除批次时校验如果该批次已录入成本,不允许删除

committer: heyu
This commit is contained in:
aike 2025-10-22 11:26:52 +08:00
parent eba423e598
commit df61352045
5 changed files with 63 additions and 32 deletions

View File

@ -1,11 +1,11 @@
/**
/**
* @Project: emis
* @Title: EmisTmsSiteBatchController.java
* @author linfso
* @date 2024-03-01 06:38:49
* @Copyright: ShangHai Duta 2022 All rights reserved.
* @version v1.0
* @version v1.0
* @Description: <p> 一级网点TMS组批次 控制器 </p>
*/
@ -47,7 +47,7 @@ import java.text.SimpleDateFormat;
/**
* 一级网点TMS组批次Controller
*
*
* @author linfso
* @date 2024-03-01 06:38:49
*/
@ -217,8 +217,7 @@ public class EmisTmsSiteBatchController extends EmisBaseController
@PreAuthorize("@ss.hasPermi('emis:emisTmsSiteBatch:remove')")
@Log(title = "一级网点TMS组批次", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
public AjaxResult remove(@PathVariable Long[] ids) throws EmisBizError {
return toAjax(emisTmsSiteBatchService.deleteEmisTmsSiteBatchByIds(ids));
}

View File

@ -1,10 +1,10 @@
/**
/**
* @Project: emis
* @Title: EmisTmsCostFeeMapper.java
* @author linfso
* @date 2024-10-10 01:53:20
* @Copyright: ShangHai Doitinfo 2022 All rights reserved.
* @version v1.0
* @version v1.0
* @Description: <p> TMS运输成本账单 Mapper 接口 </p>
* <span style='color:red'> Warning : This file is generate by ai tools,don't edit!!! </span>
*/
@ -28,7 +28,7 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
/**
* 主键查询
* @param id
* @return
* @return
*/
public EmisTmsCostFee selectEmisTmsCostFeeById(Long id);
@ -38,8 +38,8 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
/**
* 查询列表
*
* @param emisTmsCostFee
*
* @param emisTmsCostFee
* @return 集合
*/
public List<EmisTmsCostFee> selectEmisTmsCostFeeList(EmisTmsCostFee emisTmsCostFee);
@ -69,33 +69,33 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
/**
* 检查是否重复
*
* @param emisTmsCostFee
*
* @param emisTmsCostFee
* @return 数量
*/
public int checkUnique(EmisTmsCostFee emisTmsCostFee);
/**
* 新增
*
* 新增
*
* @param emisTmsCostFee
* @return
* @return
*/
public int insertEmisTmsCostFee(EmisTmsCostFee emisTmsCostFee);
/**
* 修改
*
* @param emisTmsCostFee
* @return
*
* @param emisTmsCostFee
* @return
*/
public int updateEmisTmsCostFee(EmisTmsCostFee emisTmsCostFee);
/**
* 删除
*
*
* @param id 主键
* @return 结果
*/
@ -103,9 +103,17 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
/**
* 批量删除
*
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteEmisTmsCostFeeByIds(Long[] ids);
/**
* 根据批次ID列表查询成本费用记录
*
* @param batchIds 批次ID数组
* @return 成本费用记录列表
*/
public List<EmisTmsCostFee> selectEmisTmsCostFeeByBatchIds(Long[] batchIds);
}

View File

@ -1,10 +1,10 @@
/**
/**
* @Project: emis
* @Title: EmisTmsSiteBatchService.java
* @author linfso
* @date 2024-03-01 08:54:56
* @Copyright: ShangHai Duta 2022 All rights reserved.
* @version v1.0
* @version v1.0
* @Description: <p> 一级网点TMS组批次 服务类接口 </p>
*/
package com.xdadan.erp.emis.service;
@ -28,7 +28,7 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 主键查询
* @param id
* @return
* @return
*/
public EmisTmsSiteBatch selectEmisTmsSiteBatchById(Long id);
@ -55,7 +55,7 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 查询一级网点TMS组批次列表
*
*
* @param emisTmsSiteBatch 一级网点TMS组批次
* @return 一级网点TMS组批次集合
*/
@ -70,7 +70,7 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 新增一级网点TMS组批次
*
*
* @param emisTmsSiteBatch 一级网点TMS组批次
* @return 结果
*/
@ -85,7 +85,7 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 修改一级网点TMS组批次
*
*
* @param emisTmsSiteBatch 一级网点TMS组批次
* @return 结果
*/
@ -93,15 +93,15 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 批量删除一级网点TMS组批次
*
*
* @param ids 需要删除的一级网点TMS组批次主键集合
* @return 结果
*/
public int deleteEmisTmsSiteBatchByIds(Long[] ids);
public int deleteEmisTmsSiteBatchByIds(Long[] ids) throws EmisBizError;
/**
* 删除一级网点TMS组批次信息
*
*
* @param id 一级网点TMS组批次主键
* @return 结果
*/
@ -130,7 +130,7 @@ public interface IEmisTmsSiteBatchService extends IDataAuditService
/**
* 批量编辑一级网点TMS组批次
*
*
* @param emisTmsSiteBatch 一级网点TMS组批次
* @return 结果
*/

View File

@ -25,6 +25,7 @@ import com.xdadan.erp.emis.mapper.EmisTmsSiteBatchLoadingMapper;
import com.xdadan.erp.emis.mapper.EmisTransPlanRuleMapper;
import com.xdadan.erp.emis.mapper.EmisTmsSiteBatchLogMapper;
import com.xdadan.erp.emis.mapper.EmisWaybillMapper;
import com.xdadan.erp.emis.mapper.EmisTmsCostFeeMapper;
import com.xdadan.erp.emis.service.EmisBaseService;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
@ -67,6 +68,9 @@ public class EmisTmsSiteBatchServiceImpl extends EmisBaseService implements IEmi
@Autowired
private EmisWaybillMapper emisWaybillMapper;
@Autowired
private EmisTmsCostFeeMapper emisTmsCostFeeMapper;
/**
* 获取稽核数据
*
@ -469,7 +473,17 @@ public class EmisTmsSiteBatchServiceImpl extends EmisBaseService implements IEmi
* @return 结果
*/
@Override
public int deleteEmisTmsSiteBatchByIds(Long[] ids) {
public int deleteEmisTmsSiteBatchByIds(Long[] ids) throws EmisBizError {
// 检查批次是否已录入成本费用
if (ids != null && ids.length > 0) {
// 一次性查询所有ids对应的成本费用记录
List<EmisTmsCostFee> costFeeList = emisTmsCostFeeMapper.selectEmisTmsCostFeeByBatchIds(ids);
if (CollectionUtil.isNotEmpty(costFeeList)) {
// 取第一条记录的批次号作为提示
String firstBatchNo = costFeeList.get(0).getBatchNo();
throw new EmisBizError(EmisBizErrorType.FAIL, "批次号[" + firstBatchNo + "]已录入成本,无法删除");
}
}
return emisTmsSiteBatchMapper.deleteEmisTmsSiteBatchByIds(ids);
}

View File

@ -292,6 +292,16 @@
where a.batch_no = #{batchNo} limit 1
</select>
<select id="selectEmisTmsCostFeeByBatchIds" parameterType="Long[]" resultMap="EmisTmsCostFeeResult">
select c.id, c.cost_no, c.cost_name, c.batch_no, c.fee_type, c.split_type, c.trans_type, c.trans_sign_no, c.supplier_code, c.supplier_name, c.send_place, c.dest_place, c.cost_fee, c.usd_cost_fee, c.bill_month, c.trade_date, c.send_piece_sum, c.piece_number, c.total_weight, c.total_volume, c.bl_confirm_center, c.real_piece_number, c.real_total_weight, c.real_total_volume, c.confirm_center_date, c.confirm_center_note, c.confirm_center_man_code, c.confirm_center_code, c.bl_confirm_site, c.confirm_site_date, c.confirm_site_man_code, c.confirm_site_note, c.confirm_site_code, c.bl_has_calc, c.calc_date, c.remark, c.del_flag, c.create_by, c.create_time, c.update_by, c.update_time, c.create_site, c.update_site
from emis_tms_cost_fee c
inner join emis_tms_site_batch b on c.batch_no = b.batch_no
where b.id in
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<insert id="insertEmisTmsCostFee" parameterType="EmisTmsCostFee" useGeneratedKeys="true" keyProperty="id">
insert into emis_tms_cost_fee
<trim prefix="(" suffix=")" suffixOverrides=",">