liyong
6 小时以前 8f5be003e52fdbf034d1955216143bd184ebbdb4
Merge remote-tracking branch 'origin/dev_business' into dev_business

# Conflicts:
# yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImplTest.java
已添加1个文件
已修改2个文件
已删除1个文件
177 ■■■■ 文件已修改
.claude/rules/frontend-project.md 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImplTest.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.claude/rules/frontend-project.md
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
# å‰ç«¯é¡¹ç›®è§„则
## è§„则
- `mom-pro2-before` æ˜¯å‰ç«¯é¡¹ç›®ï¼Œä½äºŽåŽç«¯é¡¹ç›®æ ¹ç›®å½•下(`D:\牛马\南通\后端\mom-pro2-after\mom-pro2-before`)。
- å¯ä»¥æŸ¥çœ‹å‰ç«¯ä»£ç ä½œä¸ºå‚考,帮助理解业务逻辑、设计后端方案。
- **未经用户明确允许,禁止修改前端项目中的任何文件。**
## ä½¿ç”¨åœºæ™¯
| å…è®¸ | ç¦æ­¢ |
|------|------|
| è¯»å–前端文件了解现有实现 | ä¿®æ”¹å‰ç«¯ä»£ç  |
| å‚考前端 API è°ƒç”¨æ–¹å¼è®¾è®¡åŽç«¯æŽ¥å£ | æ–°å¢žå‰ç«¯ç»„ä»¶/页面 |
| å‚考前端数据结构理解业务 | åˆ é™¤å‰ç«¯æ–‡ä»¶ |
| åœ¨å‰ç«¯é¡¹ç›®ä¸­æœç´¢/查找代码 | é‡æž„前端代码 |
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/unit/MdmUnitMeasureMapper.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.module.mdm.controller.admin.unit.vo.MdmUnitMeasurePageReqVO;
import cn.iocoder.yudao.module.mdm.dal.dataobject.unit.MdmUnitMeasureDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Delete;
import java.util.Collection;
import java.util.List;
@@ -47,4 +48,9 @@
        return selectList(MdmUnitMeasureDO::getId, ids);
    }
    /**
     * ç‰©ç†åˆ é™¤åŒç¼–码的已软删除记录
     */
    @Delete("DELETE FROM mdm_unit_measure WHERE code = #{code} AND deleted = 1")
    void physicalDeleteByCode(String code);
}
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/service/unit/MdmUnitMeasureServiceImpl.java
@@ -11,6 +11,7 @@
import cn.iocoder.yudao.module.mdm.dal.mysql.unit.MdmUnitMeasureMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.*;
@@ -65,13 +66,16 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteUnitMeasure(Long id) {
        // æ ¡éªŒå­˜åœ¨
        validateUnitMeasureExists(id);
        MdmUnitMeasureDO unitMeasure = validateUnitMeasureExists(id);
        // æ ¡éªŒæ˜¯å¦è¢«ç‰©æ–™ä½¿ç”¨ï¼ˆç›´æŽ¥ä½¿ç”¨ Mapper é¿å…å¾ªçŽ¯ä¾èµ–ï¼‰
        if (itemMapper.selectCountByUnitMeasureId(id) > 0) {
            throw exception(MDM_UNIT_MEASURE_EXISTS_ITEM);
        }
        // å…ˆæ¸…理同编码的已软删除脏数据,避免当前记录软删时触发唯一键冲突
        unitMeasureMapper.physicalDeleteByCode(unitMeasure.getCode());
        // åˆ é™¤
        unitMeasureMapper.deleteById(id);
    }
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImplTest.java
ÎļþÒÑɾ³ý