车车 9 сар өмнө
parent
commit
8d3caf0bfc

+ 10 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsMaterialsController.java

@@ -9,6 +9,7 @@ import com.ktg.common.pojo.CommonResult;
 import com.ktg.common.utils.poi.ExcelUtil;
 import com.ktg.iscs.domain.IsMaterials;
 import com.ktg.iscs.domain.dto.materials.LoanMaterialDTO;
+import com.ktg.iscs.domain.dto.materials.MaterialBindingDTO;
 import com.ktg.iscs.domain.dto.materials.MaterialsPageDTO;
 import com.ktg.iscs.domain.vo.materials.ImportMaterialsVO;
 import com.ktg.iscs.domain.vo.materials.MaterialsPageVO;
@@ -148,4 +149,13 @@ public class IsMaterialsController extends BaseController
         String message = isMaterialsService.importMaterials(itemList, updateSupport, operName);
         return AjaxResult.success(message);
     }
+
+    @ApiOperation("绑定物资-物资柜绑定物资")
+    @PreAuthorize("@ss.hasPermi('iscs:materials:binding')")
+    @Log(title = "物资", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateMaterialsBinding")
+    public CommonResult<Boolean> updateMaterialsBinding(@RequestBody @Parameter(name = "dto", description = "修改数据类,放到body") MaterialBindingDTO dto)
+    {
+        return CommonResult.success(isMaterialsService.updateMaterialsBinding(dto));
+    }
 }

+ 25 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/materials/MaterialBindingDTO.java

@@ -0,0 +1,25 @@
+package com.ktg.iscs.domain.dto.materials;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 物资对象 is_materials
+ *
+ * @author cgj
+ * @date 2024-11-08
+ */
+@Data
+public class MaterialBindingDTO
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "物资柜ID")
+    private Long materialsCabinetId;
+
+    @ApiModelProperty(value = "物资ID")
+    private List<Long> materialsIds;
+
+}

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsMaterialsService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ktg.iscs.domain.IsMaterials;
 import com.ktg.iscs.domain.dto.materials.LoanMaterialDTO;
+import com.ktg.iscs.domain.dto.materials.MaterialBindingDTO;
 import com.ktg.iscs.domain.dto.materials.MaterialsPageDTO;
 import com.ktg.iscs.domain.vo.materials.ImportMaterialsVO;
 import com.ktg.iscs.domain.vo.materials.MaterialsPageVO;
@@ -75,4 +76,6 @@ public interface IIsMaterialsService extends IService<IsMaterials>
     Boolean updateIsMaterialById(LoanMaterialDTO dto);
 
     String importMaterials(List<ImportMaterialsVO> itemList, boolean updateSupport, String operName);
+
+    Boolean updateMaterialsBinding(MaterialBindingDTO dto);
 }

+ 9 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsCabinetServiceImpl.java

@@ -1,14 +1,17 @@
 package com.ktg.iscs.service.impl;
 
 import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ktg.common.core.text.Convert;
 import com.ktg.common.utils.DateUtils;
+import com.ktg.iscs.domain.IsMaterials;
 import com.ktg.iscs.domain.IsMaterialsCabinet;
 import com.ktg.iscs.domain.vo.cabinet.IsMaterialsCabinetVO;
 import com.ktg.iscs.mapper.IsMaterialsCabinetMapper;
 import com.ktg.iscs.service.IIsMaterialsCabinetService;
+import com.ktg.iscs.service.IIsMaterialsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -25,6 +28,8 @@ public class IsMaterialsCabinetServiceImpl extends ServiceImpl<IsMaterialsCabine
 {
     @Autowired
     private IsMaterialsCabinetMapper isMaterialsCabinetMapper;
+    @Autowired
+    private IIsMaterialsService iIsMaterialsService;
 
     /**
      * 查询物资柜
@@ -87,6 +92,10 @@ public class IsMaterialsCabinetServiceImpl extends ServiceImpl<IsMaterialsCabine
     {
         Assert.notBlank(cabinetIds, "请选择需要删除的数据!");
         Long[] longIds = Convert.toLongArray(cabinetIds);
+        // 检查物资柜下面有没有物资,有物资就不可以删除
+        List<IsMaterials> list = iIsMaterialsService.list(Wrappers.<IsMaterials>lambdaQuery()
+                .in(IsMaterials::getMaterialsCabinetId, longIds));
+        Assert.isFalse(!list.isEmpty(), "物资柜下存在所属物资,请先清理物资!");
         return isMaterialsCabinetMapper.deleteIsMaterialsCabinetByCabinetIds(longIds);
     }
 

+ 12 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsServiceImpl.java

@@ -11,6 +11,7 @@ import com.ktg.common.utils.bean.BeanUtils;
 import com.ktg.iscs.domain.IsMaterials;
 import com.ktg.iscs.domain.IsMaterialsType;
 import com.ktg.iscs.domain.dto.materials.LoanMaterialDTO;
+import com.ktg.iscs.domain.dto.materials.MaterialBindingDTO;
 import com.ktg.iscs.domain.dto.materials.MaterialsPageDTO;
 import com.ktg.iscs.domain.dto.materialsLoan.AddLoanDTO;
 import com.ktg.iscs.domain.dto.materialsLoan.ReturnLoanDTO;
@@ -237,4 +238,15 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
         return successMsg.toString();
     }
 
+    @Override
+    public Boolean updateMaterialsBinding(MaterialBindingDTO dto) {
+        // 1.断言开道,bug闪开
+        Assert.notNull(dto.getMaterialsCabinetId(), "物资柜信息不可为空!");
+        Assert.isFalse(dto.getMaterialsIds().isEmpty(), "请选择物资!");
+        // 2.开始更新啊
+        return update(Wrappers.<IsMaterials>lambdaUpdate()
+                .in(IsMaterials::getMaterialsId, dto.getMaterialsIds())
+                .set(IsMaterials::getMaterialsCabinetId, dto.getMaterialsCabinetId()));
+    }
+
 }