浏览代码

修改标本出库信息

hyy 7 月之前
父节点
当前提交
2ff9415b92

+ 15 - 4
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimenoutbound/SpecimenOutboundController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.museums.controller.admin.specimenoutbound;
 
+import cn.iocoder.yudao.module.museums.dal.mysql.specimenoutbound.SpecimenOutboundMapper;
 import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
@@ -44,6 +45,8 @@ public class SpecimenOutboundController {
     private SpecimenOutboundService specimenOutboundService;
     @Resource
     private PermissionApi permissionApi;
+    @Resource
+    private SpecimenOutboundMapper specimenOutboundMapper;
 
     @PostMapping("/create")
     @Operation(summary = "创建标本出库申请")
@@ -86,12 +89,19 @@ public class SpecimenOutboundController {
     @Operation(summary = "修改标本出库信息")
     @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:update')")
     public CommonResult<Boolean> recompileSpecimenOutbound(@Valid @RequestBody SpecimenOutboundSaveReqVO updateReqVO) {
+        // 从数据库获取当前标本出库信息
+        SpecimenOutboundDO specimenOutbound = specimenOutboundMapper.selectById(updateReqVO.getId());
+        if (specimenOutbound == null) {
+            throw exception(SPECIMEN_OUTBOUND_NOT_EXISTS);
+        }
+        int currentStatus = specimenOutbound.getStatus();
+
         // 校验状态
-        if (updateReqVO.getStatus() == 0 || updateReqVO.getStatus() == 2 || updateReqVO.getStatus() == 6) {
-            // 根据状态更新
-            if (updateReqVO.getStatus() == 2) {
+        if (currentStatus == 0 || currentStatus == 2 || currentStatus == 6) {
+            // 根据当前状态更新
+            if (currentStatus == 2) {
                 updateReqVO.setStatus(0); // 编辑后将状态变为0
-            } else if (updateReqVO.getStatus() == 6) {
+            } else if (currentStatus == 6) {
                 updateReqVO.setStatus(1); // 编辑后将状态变为1
             }
             // 调用服务层更新方法
@@ -102,6 +112,7 @@ public class SpecimenOutboundController {
         }
     }
 
+
     @PostMapping("/confirmOutbound")
     @Operation(summary = "确认标本出库")
     @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:confirm')")

+ 0 - 8
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/dal/mysql/specimeninfo/SpecimenInfoMapper.java

@@ -127,14 +127,6 @@ public interface SpecimenInfoMapper extends BaseMapperX<SpecimenInfoDO> {
 
     List<Map<String, Object>> selectMonthlyEntryStatisticsByYear(@Param("year") int year);
 
-    /**
-     * 更新注销原因
-     *
-     * @param id            编号
-     * @param deletedReason 注销原因
-     */
-
-    void updateDeletedReasonById(@Param("id") Integer id, @Param("deletedReason") String deletedReason);
 
     boolean existsByNumber(String number);
 

+ 5 - 9
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/service/specimeninfo/SpecimenInfoServiceImpl.java

@@ -114,19 +114,15 @@ public class SpecimenInfoServiceImpl implements SpecimenInfoService {
         validateSpecimenInfoExists(id);
 
         // 获取标本信息
-        SpecimenInfoDO specimenInfo = specimenInfoMapper.selectById(id); // 假设有这个方法可以根据ID查找标本
-        String specimenNumber = specimenInfo.getSpecimenNumber(); // 获取标本编号
+        SpecimenInfoDO specimenInfo = specimenInfoMapper.selectById(id);
+        String specimenNumber = specimenInfo.getSpecimenNumber();
 
-        // 更新注销原因
-        // TODO update 方法为啥还单独写一个,感觉没必要,你上面不是有吗?
-        //  写这两句就好了啊、
-        //  SpecimenInfoDO updateObj =  new SpecimenInfoDO().setXXX
-        //  specimenInfoMapper.updateById(updateObj);
-        specimenInfoMapper.updateDeletedReasonById(id, deletedReason);
+        //更新注销原因
+        SpecimenInfoDO updateObj =  new SpecimenInfoDO().setDeletedReason(deletedReason);
+        specimenInfoMapper.updateById(updateObj);
 
         // 进行逻辑删除
         specimenInfoMapper.deleteById(id); // 这是假设你已经有一个方法来标记为删除
-
         // 记录操作日志上下文
         LogRecordContext.putVariable("deletedReason", deletedReason);
         LogRecordContext.putVariable("specimenNumber", specimenNumber);

+ 0 - 22
yudao-module-museums/yudao-module-museums-biz/src/main/resources/mapper/specimeninfo/SpecimenInfoMapper.xml

@@ -2,13 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.iocoder.yudao.module.museums.dal.mysql.specimeninfo.SpecimenInfoMapper">
 
-    <!--
-        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
-        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
-        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
-        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-     -->
-
     <select id="selectByIds" >
         SELECT * FROM museums_specimen_info WHERE id IN
         <foreach item="id" collection="list" open="(" separator="," close=")">
@@ -16,8 +9,6 @@
         </foreach>
     </select>
 
-
-
         <select id="selectAllSpecimenTypeStatistics" resultType="map">
             SELECT specimen_type, COUNT(*) as count
             FROM museums_specimen_info
@@ -38,21 +29,8 @@
             month
     </select>
 
-    <update id="updateDeletedReasonById">
-        UPDATE museums_specimen_info
-        SET deleted_reason = #{deletedReason}
-        WHERE id = #{id}
-    </update>
-
-    <update id="markAsDeletedById">
-        UPDATE museums_specimen_info
-        SET deleted = 1 -- 1 表示已注销
-        WHERE id = #{id}
-    </update>
-
     <select id="existsByNumber" resultType="boolean">
         SELECT COUNT(*) > 0 FROM museums_specimen_info WHERE specimen_number = #{number}
     </select>
 
-
 </mapper>