no message

main
HUOJIN\92525 2026-01-20 22:22:06 +08:00
parent 6bea28259a
commit 2b4eed320e
4 changed files with 67 additions and 8 deletions

View File

@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.cpte.modules.agvTask.entity.AgvTask;
import org.cpte.modules.agvTask.service.IAgvTaskService;
import org.cpte.modules.dashboard.vo.OutAndInData;
import org.cpte.modules.inventory.mapper.InventoryMapper;
import org.cpte.modules.receive.mapper.AsnDetailMapper;
import org.cpte.modules.receive.mapper.ReceiveRecordMapper;
@ -27,10 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.*;
/**
* @Description: AGV
@ -55,7 +53,6 @@ public class DashBoardController {
@GetMapping("/getChartCardList")
public Result<JSONArray> getChartCardList() {
Result<JSONArray> result = new Result<JSONArray>();
JSONArray jsonArray = new JSONArray();
Long invTotal = inventoryMapper.queryStockCount();
@ -92,8 +89,14 @@ public class DashBoardController {
turnoverObj.put("total", roundedValue);
jsonArray.add(turnoverObj);
result.setResult(jsonArray);
return result;
return Result.OK(jsonArray);
}
@GetMapping("/queryOutAndInData")
public Result<List<OutAndInData>> queryOutAndInData() {
//本周出入库数据
List<OutAndInData> outAndInDataList = inventoryMapper.queryOutAndInData();
return Result.OK(outAndInDataList);
}
}

View File

@ -0,0 +1,10 @@
package org.cpte.modules.dashboard.vo;
import lombok.Data;
@Data
public class OutAndInData {
private String createTime;
private double qty;
private String type;
}

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.cpte.modules.dashboard.vo.OutAndInData;
import org.cpte.modules.inventory.entity.Inventory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -104,4 +105,6 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
@Select("select count(stock_id) from data_inventory")
Long queryStockCount();
List<OutAndInData> queryOutAndInData();
}

View File

@ -63,4 +63,47 @@
#{stockId}
</foreach>
</select>
<select id="queryOutAndInData" resultType="java.util.Map">
SELECT
DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL n DAY) AS createTime,
t.type,
COALESCE(qty, 0) AS qty
FROM (
-- 生成0-6的数字序列代表一周7天
SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3
UNION SELECT 4 UNION SELECT 5 UNION SELECT 6
) AS days
CROSS JOIN (
-- 两种类型
SELECT '入库' AS type UNION SELECT '出库'
) AS t
LEFT JOIN (
-- 入库数据
SELECT
DATE(create_time) as createTime,
COUNT(stock_id) as qty,
'入库' as type
FROM data_receive_record
WHERE create_time >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
AND create_time &lt; DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
GROUP BY DATE(create_time)
UNION ALL
-- 出库数据
SELECT
DATE(create_time) as createTime,
COUNT(stock_id) as qty,
'出库' as type
FROM data_task
WHERE task_status in (4,5)
AND create_time >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
AND create_time &lt; DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
AND pick_id > 0
GROUP BY DATE(create_time)
) AS data ON DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL n DAY) = data.createTime
AND t.type = data.type
ORDER BY createTime, type;
</select>
</mapper>