Browse Source

[CODE]: 仓库库区编号、名称唯一判断

maxianghua 4 năm trước cách đây
mục cha
commit
abeb6fc2e3

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/basicData/TWarehouseController.java

@@ -1,7 +1,9 @@
 package com.ruoyi.web.controller.warehouse.basicData;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.basicData.domain.TWarehouse;
+import com.ruoyi.basicData.domain.TWarehouseArea;
 import com.ruoyi.basicData.service.ITWarehouseService;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.constant.UserConstants;
@@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -81,6 +84,16 @@ public class TWarehouseController extends BaseController {
         } else if (UserConstants.NOT_UNIQUE.equals(tWarehouseService.checkUFAaddrUnique(tWarehouses))) {
             return AjaxResult.error("新增仓库'" + tWarehouses.getfAddr() + "'失败,地址已存在");
         }
+        JSONArray jsonArray = JSONArray.parseArray(tWarehouseArea);
+        List<TWarehouseArea> tWarehouseAreaList = JSONObject.parseArray(jsonArray.toJSONString(), TWarehouseArea.class);
+        for (TWarehouseArea tWarehouseAreas : tWarehouseAreaList) {
+            if (UserConstants.NOT_UNIQUE.equals(tWarehouseService.checkUFTWarehouseAreaNoUnique(tWarehouseAreas))) {
+                return AjaxResult.error("新增仓库'" + tWarehouseAreas.getfNo() + "'失败,库区编号已存在");
+            } else if (UserConstants.NOT_UNIQUE.equals(tWarehouseService.checkUTWarehouseAreaFNnameUnique(tWarehouseAreas))) {
+                return AjaxResult.error("新增仓库'" + tWarehouseAreas.getfName() + "'失败,库区编号已存在");
+            }
+        }
+
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return tWarehouseService.insertTWarehouse1(tWarehouse, tWarehouseArea, loginUser);

+ 17 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TWarehouseAreaMapper.java

@@ -1,5 +1,6 @@
 package com.ruoyi.basicData.mapper;
 
+import com.ruoyi.basicData.domain.TWarehouse;
 import com.ruoyi.basicData.domain.TWarehouseArea;
 
 import java.util.List;
@@ -60,4 +61,20 @@ public interface TWarehouseAreaMapper {
      * @return 结果
      */
     public int deleteTWarehouseAreaByIds(Long[] fIds);
+
+    /**
+     *  检验编号唯一
+     * @param fNo
+     * @return
+     */
+    public TWarehouseArea checkFNoUnique(String fNo);
+
+    /**
+     *  检验名称
+     * @param fNname
+     * @return
+     */
+    public TWarehouseArea checkUFNnameUnique(String fNname);
+
+
 }

+ 13 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/ITWarehouseService.java

@@ -1,6 +1,7 @@
 package com.ruoyi.basicData.service;
 
 import com.ruoyi.basicData.domain.TWarehouse;
+import com.ruoyi.basicData.domain.TWarehouseArea;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
 
@@ -81,4 +82,16 @@ public interface ITWarehouseService {
      */
     public String checkUFAaddrUnique(TWarehouse tWarehouse);
 
+    /**
+     *  检验编号唯一
+     * @return
+     */
+    public String checkUFTWarehouseAreaNoUnique(TWarehouseArea tWarehouseAreas);
+
+    /**
+     *  检验编号名称
+     * @return
+     */
+    public String checkUTWarehouseAreaFNnameUnique(TWarehouseArea tWarehouseAreas);
+
 }

+ 19 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TWarehouseServiceImpl.java

@@ -179,4 +179,23 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
         }
         return UserConstants.UNIQUE;
     }
+
+    @Override
+    public String checkUFTWarehouseAreaNoUnique(TWarehouseArea tWarehouseAreas) {
+        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkFNoUnique(tWarehouseAreas.getfNo());
+        if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
+    @Override
+    public String checkUTWarehouseAreaFNnameUnique(TWarehouseArea tWarehouseAreas) {
+        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkUFNnameUnique(tWarehouseAreas.getfName());
+        if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
 }

+ 8 - 0
ruoyi-warehouse/src/main/resources/mapper/basicData/TWarehouseAreaMapper.xml

@@ -102,4 +102,12 @@
         </foreach>
     </delete>
 
+    <select id="checkFNoUnique" parameterType="String" resultMap="TWarehouseAreaResult">
+	    select f_id,f_no from t_warehouse_area where f_no = #{fNo} limit 1
+    </select>
+
+    <select id="checkUFNnameUnique" parameterType="String" resultMap="TWarehouseAreaResult">
+        select f_id,f_name from t_warehouse_area where f_name = #{fAame} limit 1
+    </select>
+
 </mapper>