24282 2 년 전
부모
커밋
7a68ce9c2a

+ 1 - 1
hx-common/code-generator/src/main/java/com/fjhx/modular/Storage.java

@@ -37,7 +37,7 @@ public class Storage {
     public static String MODULAR_NAME = "storage";
 
     // 需要生成的表名称,多表用,隔开
-    public static String INCLUDE = "u_login_log";
+    public static String INCLUDE = "test_scan";
 
     // mysql连接
     public static String MYSQL_URL = "rm-wz9f1jcr5466b42415o.mysql.rds.aliyuncs.com:3306";

+ 44 - 0
hx-service-api/storage-api/src/main/java/com/fjhx/entity/test/TestScan.java

@@ -0,0 +1,44 @@
+package com.fjhx.entity.test;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+@Data
+public class TestScan implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    /**
+     * rfid
+     */
+    private String rfid;
+
+    /**
+     * 批次标记
+     */
+    private Long batchFlag;
+
+    /**
+     * 扫描时间
+     */
+    private Date scanTime;
+
+}

+ 17 - 0
hx-service-api/storage-api/src/main/java/com/fjhx/params/test/TestScanEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.test;
+
+import com.fjhx.entity.test.TestScan;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TestScanEx extends TestScan {
+
+}

+ 17 - 0
hx-service-api/storage-api/src/main/java/com/fjhx/params/test/TestScanVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.test;
+
+import com.fjhx.entity.test.TestScan;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class TestScanVo extends TestScan {
+
+}

+ 4 - 0
hx-service/storage/src/main/java/com/fjhx/stock/service/StockCheckrecordService.java

@@ -35,4 +35,8 @@ public interface StockCheckrecordService extends BaseService<StockCheckrecord> {
      */
     void checkEnd(String instructions, Long checkForwardSessionId, String stockHouseId);
 
+    void testScanStart(String instructions, long flag, String stockHouseId);
+
+    void testScanEnd(String instructions, long flag, String stockHouseId);
+
 }

+ 49 - 1
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockCheckrecordServiceImpl.java

@@ -9,6 +9,7 @@ import com.fjhx.entity.stock.StockCheckrecord;
 import com.fjhx.entity.stock.StockCheckrecorddetail;
 import com.fjhx.entity.stock.StockDetail;
 import com.fjhx.entity.stock.StockTag;
+import com.fjhx.entity.test.TestScan;
 import com.fjhx.listener.WebSocketEventListener;
 import com.fjhx.service.WebSocketServer;
 import com.fjhx.stock.mapper.StockCheckrecordMapper;
@@ -16,6 +17,7 @@ import com.fjhx.stock.service.StockCheckrecordService;
 import com.fjhx.stock.service.StockCheckrecorddetailService;
 import com.fjhx.stock.service.StockDetailService;
 import com.fjhx.stock.service.StockTagService;
+import com.fjhx.test.service.TestScanService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -38,6 +40,9 @@ import java.util.stream.Collectors;
 @Slf4j
 public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMapper, StockCheckrecord> implements StockCheckrecordService {
 
+    @Autowired
+    private TestScanService testScanService;
+
     /**
      * 记录盘点数据
      * key:仓库id
@@ -78,9 +83,19 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
     @Override
     public void checkCallBack(JSONObject data) {
 
-        String stockHouseId = data.getString("stockHouseId");
         String rfid = data.getString("rfid");
 
+        if (data.getString("testFlag").equals("true")) {
+            TestScan testScan = new TestScan();
+            testScan.setRfid(rfid);
+            testScan.setBatchFlag(data.getLong("forwardSessionId"));
+            testScan.setScanTime(new Date());
+            testScanService.save(testScan);
+            return;
+        }
+
+        String stockHouseId = data.getString("stockHouseId");
+
         map.get(stockHouseId).add(rfid);
     }
 
@@ -241,6 +256,39 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
         stockCheckrecorddetailService.saveBatch(list);
     }
 
+    @Override
+    public void testScanStart(String instructions, long flag, String stockHouseId) {
+        JSONObject data = new JSONObject();
+        // 盘点指令
+        data.put("instructions", instructions);
+        // 开启rfid扫描type
+        data.put("type", "2");
+        // 盘点业务类型
+        data.put("businessType", "3");
+        // 盘点仓库id  一楼仓库'c185883dba22478cb593d33f6b66cc53' 四楼仓库'0b8f584250bb4b40b72d641ce4849d15'
+        data.put("stockHouseId", stockHouseId);
+        data.put("forwardSessionId", flag);
+        data.put("forwardUserId", instructions);
+        // 测试标记
+        data.put("testFlag", "true");
+
+        // 开启扫描
+        WebSocketServer.sendInfo(WebSocketEventListener.WEB_STOCK_PROGRAM, WebSocketEventListener.OPERATING_UPPER_COMPUTER, data);
+    }
+
+    @Override
+    public void testScanEnd(String instructions, long flag, String stockHouseId) {
+        JSONObject data = new JSONObject();
+        // 盘点指令
+        data.put("instructions", instructions);
+        // 关闭rfid扫描type
+        data.put("type", "9");
+        data.put("forwardSessionId", flag);
+        data.put("forwardUserId", instructions);
+        // 关闭扫描
+        WebSocketServer.sendInfo(WebSocketEventListener.WEB_STOCK_PROGRAM, WebSocketEventListener.OPERATING_UPPER_COMPUTER, data);
+    }
+
     /**
      * @param date              完成时间
      * @param recordId          盘点主表id

+ 16 - 0
hx-service/storage/src/main/java/com/fjhx/test/mapper/TestScanMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.test.mapper;
+
+import com.fjhx.entity.test.TestScan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+public interface TestScanMapper extends BaseMapper<TestScan> {
+
+}

+ 5 - 0
hx-service/storage/src/main/java/com/fjhx/test/mapper/TestScanMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.test.mapper.TestScanMapper">
+
+</mapper>

+ 28 - 0
hx-service/storage/src/main/java/com/fjhx/test/service/TestScanService.java

@@ -0,0 +1,28 @@
+package com.fjhx.test.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.test.TestScan;
+import com.fjhx.params.test.TestScanVo;
+import com.fjhx.base.BaseService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+public interface TestScanService extends BaseService<TestScan> {
+
+    Page<TestScan> getPage(Map<String, Object> condition);
+
+    void add(TestScanVo testScanVo);
+
+    void edit(TestScanVo testScanVo);
+
+    void delete(TestScanVo testScanVo);
+
+}

+ 48 - 0
hx-service/storage/src/main/java/com/fjhx/test/service/impl/TestScanServiceImpl.java

@@ -0,0 +1,48 @@
+package com.fjhx.test.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.test.TestScan;
+import com.fjhx.params.test.TestScanVo;
+import com.fjhx.test.mapper.TestScanMapper;
+import com.fjhx.test.service.TestScanService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.utils.wrapperUtil.IWrapper;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-03
+ */
+@Service
+public class TestScanServiceImpl extends ServiceImpl<TestScanMapper, TestScan> implements TestScanService {
+
+    @Override
+    public Page<TestScan> getPage(Map<String, Object> condition) {
+
+        IWrapper<TestScan> wrapper = IWrapper.getWrapper(condition);
+
+        return page(condition, wrapper);
+    }
+
+    @Override
+    public void add(TestScanVo testScanVo) {
+        save(testScanVo);
+    }
+
+    @Override
+    public void edit(TestScanVo testScanVo) {
+        updateById(testScanVo);
+    }
+
+    @Override
+    public void delete(TestScanVo testScanVo) {
+        removeById(testScanVo.getId());
+    }
+
+}

+ 26 - 2
hx-service/storage/src/main/java/com/fjhx/u/controller/UUserController.java

@@ -1,5 +1,6 @@
 package com.fjhx.u.controller;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.fjhx.stock.service.StockCheckrecordService;
 import com.fjhx.u.service.UUserService;
@@ -8,8 +9,7 @@ import org.springblade.core.tool.utils.ThreadUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -53,6 +53,30 @@ public class UUserController {
         return R.success();
     }
 
+    @GetMapping("/testScan")
+    public R testScan(@RequestParam("sleep") Integer sleep, @RequestParam("houseType") Integer house) {
+        long flag = IdWorker.getId();
+        String stockHouseId = house == 1 ? "c185883dba22478cb593d33f6b66cc53" : "0b8f584250bb4b40b72d641ce4849d15";
+        String instructions = house == 1 ? "check1" : "check4";
+
+        new Thread(() -> {
+            stockCheckrecordService.testScanStart(instructions, flag, stockHouseId);
+            ThreadUtil.sleep(1000L * 60 * sleep);
+            stockCheckrecordService.testScanEnd(instructions, flag, stockHouseId);
+        }).start();
+
+        Date date = new Date();
+
+        HashMap<String, Object> map = new LinkedHashMap<>();
+        map.put("扫描标记", flag);
+        map.put("扫描时间", sleep + "分钟");
+        map.put("扫描仓库", house == 1 ? "1楼仓库" : "4楼仓库");
+        map.put("开始扫描时间", DateUtil.formatDateTime(date));
+        map.put("扫描结束时间", DateUtil.formatDateTime(DateUtil.offsetMinute(date, sleep)));
+
+        return R.success(map);
+    }
+
 
 //    @PostMapping("/page")
 //    public R page(@RequestBody Map<String, Object> condition){