From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java |  127 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 122 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
index 0527763..166cad3 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
@@ -1,6 +1,9 @@
 package com.ruoyi.management.service.impl;
+import java.math.BigDecimal;
+import java.util.Date;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -9,6 +12,8 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.enums.ClientTypeEnum;
 import com.ruoyi.common.core.utils.page.PageDTO;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.management.domain.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.management.domain.dto.InventoriesSuppDTO;
@@ -18,6 +23,7 @@
 import com.ruoyi.management.domain.vo.SlGoodsMaterialsVO;
 import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
 import com.ruoyi.management.mapper.InventoriesSuppliesMapper;
+import com.ruoyi.management.mapper.SlEquipmentMapper;
 import com.ruoyi.management.mapper.SlStoreManagementMapper;
 import com.ruoyi.management.mapper.SlVolumeProductionRkMapper;
 import com.ruoyi.management.service.InventoriesSuppliesService;
@@ -28,6 +34,7 @@
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.domain.WebsocketMessageDTO;
 import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.models.auth.In;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -62,12 +69,40 @@
     @Autowired
     private SlGoodsShelfService slGoodsShelfService;
     @Autowired
+    private SlEquipmentMapper slEquipmentMapper;
+    @Autowired
     private InventoriesSuppliesMapper inventoriesSuppliesMapper;
     private static final ObjectMapper objectMapper = new ObjectMapper();
 
     @Override
     public PageDTO<InventoriesSuppliesVO> getInventoriesSuppliesList(InventoriesSuppliesQuery inventoriesSuppliesQuery) {
         LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery();
+        Long userId = SecurityUtils.getUserId();
+        if (userId!=1){
+            SysUser data = sysUserClient.getSysUser(userId).getData();
+            if (!data.getUserType().equals("00")){
+                // 如果不是平台
+                switch (data.getRoleType()){
+                    case 3:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,3);
+                        wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode());
+
+                        break;
+                    case 4:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,4);
+                        wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode());
+                        break;
+                    case 5:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,5);
+                        wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode());
+                        break;
+                    case 6:
+                        wrapper.ge(SlStoreManagement::getStoreManagementGrade,6);
+                        wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode());
+                        break;
+                }
+            }
+        }
         if (inventoriesSuppliesQuery.getStoreManagementName()!=null&&inventoriesSuppliesQuery.getStoreManagementName()!=""){
             wrapper.eq(SlStoreManagement::getStoreManagementName,inventoriesSuppliesQuery.getStoreManagementName());
         }
@@ -127,13 +162,76 @@
         this.save(inventoriesSupplies);
     }
 
+    @Resource
+    private TokenService tokenService;
     @Override
-    public void scanCodes(String rkNumber) {
+    public R scanCodes(String rkNumber,String code) {
+        LoginUser loginUserDevice = tokenService.getLoginUserDevice();
+        Map<String, Object> map1 = new ConcurrentHashMap<>();
+        String message1 = null;
+        SlVolumeProductionRkVO slVolumeProductionRkVO1 = new SlVolumeProductionRkVO();
+        slVolumeProductionRkVO1.setId("");
+        slVolumeProductionRkVO1.setVolumeProductionRkglId("");
+        slVolumeProductionRkVO1.setMaterialsId("");
+        slVolumeProductionRkVO1.setRkNum(0L);
+        slVolumeProductionRkVO1.setRkNumber("");
+        slVolumeProductionRkVO1.setRkModel("");
+        slVolumeProductionRkVO1.setRkPice(new BigDecimal("0"));
+        slVolumeProductionRkVO1.setRepertoryZhai(0L);
+        slVolumeProductionRkVO1.setStoreManagementNumber(0);
+        slVolumeProductionRkVO1.setShelfId("");
+        slVolumeProductionRkVO1.setDelFlag("");
+        slVolumeProductionRkVO1.setCreateBy("");
+        slVolumeProductionRkVO1.setCreateTime(new Date());
+        slVolumeProductionRkVO1.setUpdateBy("");
+        slVolumeProductionRkVO1.setUpdateTime(new Date());
+        slVolumeProductionRkVO1.setErwmNum(0);
+        slVolumeProductionRkVO1.setSmerwmNum(0);
+        slVolumeProductionRkVO1.setManagementId("");
+        slVolumeProductionRkVO1.setNewAddTime("");
+        slVolumeProductionRkVO1.setGoodsMaterialsName("");
+        slVolumeProductionRkVO1.setIsConsume(0);
+        slVolumeProductionRkVO1.setManagementNumber(0);
+        slVolumeProductionRkVO1.setShelfName("");
+        slVolumeProductionRkVO1.setIsError("");
+
+        try {
+            slVolumeProductionRkVO1.setIsError("1");
+            map1.put("SlVolumeProductionRk",slVolumeProductionRkVO1);
+            message1 = objectMapper.writeValueAsString(map1);
+        } catch (JsonProcessingException e) {
+        }
+        // todo 重写一套登录鉴权
+        sysUserClient.pushAll(message1, "1",SecurityConstants.INNER);
+        if (true){
+            return R.ok();
+        }
         LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
         wrapper1.eq(SlVolumeProductionRk::getRkNumber,rkNumber);
         wrapper1.eq(SlVolumeProductionRk::getDelFlag,"0");
         wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
         SlVolumeProductionRk page2 = slVolumeProductionRkMapper.selectOne(wrapper1);
+        List<SlEquipment> slEquipments = slEquipmentMapper.selectList(new QueryWrapper<SlEquipment>()
+                .eq("management_id", page2.getManagementId())
+                .eq("del_flag", "0")
+                .eq("type", 2));
+        SlEquipment slEquipment1 = slEquipmentMapper.selectOne(new QueryWrapper<SlEquipment>()
+                .eq("equipment_num", code)
+                .eq("del_flag", "0")
+                .eq("type", 2));
+//        if (slEquipments.isEmpty()){
+//            // 这个仓库没有扫码枪
+//            sysUserClient.pushAll("501", SecurityConstants.INNER);
+//            return R.ok();
+//        }
+//        // 判断当前扫码枪编号是否匹配于入库记录使用的扫码枪编号
+//        for (SlEquipment slEquipment : slEquipments) {
+//            if (!slEquipment.getEquipmentNum().equals(code)){
+//                // 扫码枪
+//                sysUserClient.pushAll("501", SecurityConstants.INNER);
+//                return R.ok();
+//            }
+//        }
 //        if (page2.getSmerwmNum()<page2.getErwmNum()){
 //            Integer i=page2.getSmerwmNum()+1;
 //            page2.setSmerwmNum(i);
@@ -150,18 +248,37 @@
         slVolumeProductionRkVO.setId(page2.getId().toString());
 //        slVolumeProductionRkVO.setVolumeProductionRkglId(page2.getVolumeProductionRkglId().toString());
         slVolumeProductionRkVO.setMaterialsId(page2.getMaterialsId().toString());
-        slVolumeProductionRkVO.setManagementId(page2.getManagementId().toString());
+        slVolumeProductionRkVO.setManagementId(slEquipment1.getManagementId().toString());
         slVolumeProductionRkVO.setShelfId(page2.getShelfId().toString());
+        slVolumeProductionRkVO.setIsError("0");
+        String msg = null;
 
         Map<String, Object> map = new ConcurrentHashMap<>();
         map.put("notification_type", NotificationTypeConstant.SCANCODES);
-        map.put("SlVolumeProductionRk",slVolumeProductionRkVO);
-        String msg = null;
+        Long managementId = slEquipment1.getManagementId();
+        Long managementId1 = page2.getManagementId();
+        if (!managementId.equals(managementId1)){
+            // 二维码错误
+            try {
+                slVolumeProductionRkVO.setIsError("1");
+                map.put("SlVolumeProductionRk",slVolumeProductionRkVO);
+                msg = objectMapper.writeValueAsString(map);
+            } catch (JsonProcessingException e) {
+            }
+            // todo 重写一套登录鉴权
+            sysUserClient.pushAll(msg, "1",SecurityConstants.INNER);
+            // 扫码枪
+            return R.ok();
+        }else{
+            map.put("SlVolumeProductionRk",slVolumeProductionRkVO);
+        }
         try {
             msg = objectMapper.writeValueAsString(map);
         } catch (JsonProcessingException e) {
         }
-        sysUserClient.pushAll(msg, SecurityConstants.INNER);
+        // todo 重写一套登录鉴权
+        sysUserClient.pushAll(msg, "1",SecurityConstants.INNER);
+        return R.ok();
     }
 
 

--
Gitblit v1.7.1