From 4b0cf5de549ebfb56a85b8e3e4f69331e90f1411 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 08 八月 2025 16:06:45 +0800
Subject: [PATCH] no message

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java |   59 +++++++++++++++++++
 rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java             |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java                      |   23 +++++++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockStatistic.java               |   90 +++++++++++++++++++++---------
 4 files changed, 146 insertions(+), 27 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
index 1e2d9af..959af2a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
@@ -51,6 +51,7 @@
                         "man_loc_type_rela",
                         "man_qly_inspect_result",
                         "view_stock_manage",
+                        "view_stock_statistic",
                         "man_transfer_order",
                         "man_wave_order_rela"
                 ).contains(tableName);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java
index c9058d5..c4bf3c7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java
@@ -1,6 +1,7 @@
 package com.vincent.rsf.server.manager.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
@@ -34,6 +35,64 @@
     }
 
     @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
+    @PostMapping("/outStatistic/page")
+    public R outStatisticPage(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<StockStatistic, BaseParam> pageParam = new PageParam<>(baseParam, StockStatistic.class);
+        QueryWrapper<StockStatistic> wrapper = pageParam.buildWrapper(true);
+        wrapper.select("id, loc_code, day_time, task_type, task_status, barcode, maktx, matnr_code, batch, SUM(anfme) AS anfme, unit, fields_index,  create_time, update_time");
+        wrapper.groupBy("matnr_code, day_time");
+        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
+    }
+
+    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
+    @PostMapping("/inStatistic/page")
+    public R inStatisticPage(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<StockStatistic, BaseParam> pageParam = new PageParam<>(baseParam, StockStatistic.class);
+        QueryWrapper<StockStatistic> wrapper = pageParam.buildWrapper(true);
+        wrapper.select("id, loc_code, day_time, task_type, task_status, barcode, maktx, matnr_code, batch, SUM(anfme) AS anfme, unit, fields_index,  create_time, update_time");
+        wrapper.groupBy("matnr_code, day_time");
+        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
+    }
+
+    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
+    @PostMapping("/inStatisticItem/page")
+    public R inStockItemPage(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<StockStatistic, BaseParam> pageParam = new PageParam<>(baseParam, StockStatistic.class);
+        QueryWrapper<StockStatistic> wrapper = pageParam.buildWrapper(true);
+        wrapper.select("id, loc_code, day_time, task_type, task_status, barcode, maktx, matnr_code, batch,  SUM(anfme) anfme, unit, fields_index, create_by, update_by,  create_time, update_time");
+        wrapper.groupBy("matnr_code, day_time, task_type, task_status");
+        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
+    }
+
+    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
+    @PostMapping("/outStatisticItem/page")
+    public R outStockItemPage(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<StockStatistic, BaseParam> pageParam = new PageParam<>(baseParam, StockStatistic.class);
+        QueryWrapper<StockStatistic> wrapper = pageParam.buildWrapper(true);
+        wrapper.select("id, loc_code, day_time, task_type, task_status, barcode, maktx, matnr_code, batch,  SUM(anfme) anfme, unit, fields_index, create_by, update_by,  create_time, update_time");
+        wrapper.groupBy("matnr_code, day_time, task_type, task_status");
+        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
+    }
+
+    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
+    @PostMapping("/statistic/num/page")
+    public R statisticNumPage(@RequestBody Map<String, Object> map) {
+        BaseParam baseParam = buildParam(map, BaseParam.class);
+        PageParam<StockStatistic, BaseParam> pageParam = new PageParam<>(baseParam, StockStatistic.class);
+        QueryWrapper<StockStatistic> wrapper = pageParam.buildWrapper(true);
+        wrapper.select("id, day_time, COUNT( barcode ) `count`, SUM( anfme ) anfme, COUNT(IF (task_type = 1, 0, NULL)) in_anfme_count, COUNT(IF ( task_type = 101, 0, NULL)) out_anfme_count, SUM(CASE WHEN task_type = 1 THEN)");
+        wrapper.groupBy("barcode, day_time");
+        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
+    }
+
+
+
+
+    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
     @PostMapping("/stockStatistic/list")
     public R list(@RequestBody Map<String, Object> map) {
         return R.ok().add(stockStatisticService.list());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockStatistic.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockStatistic.java
index e92e213..09c91ce 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockStatistic.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockStatistic.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.vincent.rsf.server.manager.enums.TaskType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -12,7 +14,10 @@
 import com.vincent.rsf.framework.common.SpringUtils;
 import com.vincent.rsf.server.system.service.UserService;
 import com.vincent.rsf.server.system.entity.User;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 
 @Data
@@ -54,8 +59,30 @@
     @ApiModelProperty(value= "鐗╂枡缂栫爜")
     private String matnrCode;
 
-    @ApiModelProperty(value= "")
+    @ApiModelProperty(value= "鏁伴噺")
     private Long count;
+
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date createTime;
+
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date updateTime;
+
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private String createBy;
+
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private String updateBy;
+
+    @ApiModelProperty("鎵樼洏鐮�")
+    private String barcode;
+
+    @ApiModelProperty("搴撲綅")
+    private String locCode;
 
     /**
      * 搴撳瓨鎵规
@@ -63,7 +90,7 @@
     @ApiModelProperty(value= "搴撳瓨鎵规")
     private String batch;
 
-    @ApiModelProperty(value= "")
+    @ApiModelProperty(value= "鏁伴噺")
     private Double anfme;
 
     /**
@@ -87,31 +114,40 @@
         this.unit = unit;
     }
 
-//    StockStatistic stockStatistic = new StockStatistic(
-//            null,    // ID[闈炵┖]
-//            null,    // 
-//            null,    // 浠诲姟绫诲瀷
-//            null,    // 浠诲姟鐘舵��
-//            null,    // 鐗╂枡鍚嶇О
-//            null,    // 鐗╂枡缂栫爜
-//            null,    // [闈炵┖]
-//            null,    // 搴撳瓨鎵规
-//            null,    // 
-//            null    // 搴撳瓨鍗曚綅
-//    );
-
-
-
-    public Boolean getStatusBool(){
-        if (null == this.status){ return null; }
-        switch (this.status){
-            case 1:
-                return true;
-            case 0:
-                return false;
-            default:
-                return null;
-        }
+    public String getTaskType$() {
+        return TaskType.getTypeDesc(taskType);
     }
 
+
+    public String getCreateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.getById(this.createBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public String getUpdateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.getById(this.updateBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
index 33337d3..7e850e5 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskType.java
@@ -28,4 +28,27 @@
         this.type = Integer.parseInt(type);
         this.desc = desc;
     }
+
+    public static String getTypeDesc(Integer type) {
+        if (type == null) {
+            return null;
+        }
+        if (TaskType.TASK_TYPE_IN.type.equals(type)) {
+            return TaskType.TASK_TYPE_IN.desc;
+        } else if (TaskType.TASK_TYPE_EMPITY_IN.type.equals(type)) {
+            return TaskType.TASK_TYPE_EMPITY_IN.desc;
+        } else if (TaskType.TASK_TYPE_OUT.type.equals(type)) {
+            return TaskType.TASK_TYPE_OUT.desc;
+        } else if (TaskType.TASK_TYPE_PICK_IN.type.equals(type)) {
+            return TaskType.TASK_TYPE_PICK_IN.desc;
+        } else if (TaskType.TASK_TYPE_MERGE_IN.type.equals(type)) {
+            return TaskType.TASK_TYPE_MERGE_IN.desc;
+        } else if (TaskType.TASK_TYPE_CHECK_IN.type.equals(type)) {
+            return TaskType.TASK_TYPE_CHECK_IN.desc;
+        }
+
+        return null;
+    }
+
+
 }

--
Gitblit v1.9.1