1
18 小时以前 e711c834aec2293c53b07efe53e81e3573c289b6
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/StockStatisticController.java
@@ -11,13 +11,14 @@
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.StockStatistic;
import com.vincent.rsf.server.manager.enums.TaskType;
import com.vincent.rsf.server.manager.service.StockStatisticService;
import com.vincent.rsf.server.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletResponse;
import java.util.*;
@RestController
@@ -40,8 +41,10 @@
        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");
        wrapper.select("MIN(id) AS id, day_time, task_type, task_status, " +
                "MAX(maktx) AS maktx, matnr_code, MAX(batch) AS batch, " +
                "SUM(anfme) AS anfme, MAX(unit) AS unit");
        wrapper.groupBy("day_time, task_type, task_status, matnr_code");
        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
    }
@@ -51,8 +54,10 @@
        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");
        wrapper.select("MIN(id) AS id, day_time, task_type, task_status, " +
                "MAX(maktx) AS maktx, matnr_code, MAX(batch) AS batch, " +
                "SUM(anfme) AS anfme, MAX(unit) AS unit");
        wrapper.groupBy("day_time, task_type, task_status, matnr_code");
        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
    }
@@ -62,8 +67,10 @@
        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");
        wrapper.select("MIN(id) AS id, loc_code, day_time, task_type, task_status, barcode, " +
                "MAX(maktx) AS maktx, matnr_code, MAX(batch) AS batch, SUM(anfme) AS anfme, " +
                "MAX(unit) AS unit, create_by, update_by, create_time, update_time");
        wrapper.groupBy("loc_code, day_time, task_type, task_status, barcode, matnr_code, create_by, update_by, create_time, update_time");
        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
    }
@@ -73,8 +80,10 @@
        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");
        wrapper.select("MIN(id) AS id, loc_code, day_time, task_type, task_status, barcode, " +
                "MAX(maktx) AS maktx, matnr_code, MAX(batch) AS batch, SUM(anfme) AS anfme, " +
                "MAX(unit) AS unit, create_by, update_by, create_time, update_time");
        wrapper.groupBy("loc_code, day_time, task_type, task_status, barcode, matnr_code, create_by, update_by, create_time, update_time");
        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
    }
@@ -84,13 +93,15 @@
        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");
        wrapper.select("MIN(id) AS id, day_time, COUNT(barcode) AS `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 anfme ELSE 0 END ) in_anfme," +
                "SUM( CASE WHEN task_type = 101 THEN anfme ELSE 0 END ) out_anfme");
        wrapper.in("task_type", Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type)).groupBy("day_time");
        return R.ok().add(stockStatisticService.page(pageParam, wrapper));
    }
    @PreAuthorize("hasAuthority('manager:stockStatistic:list')")
    @PostMapping("/stockStatistic/list")