Day02【行内表单中 el-select 宽度坍塌和sql业务】

Day02【行内表单中 el-select 宽度坍塌和sql业务】

📅 2025/02/21

  1. 研究Element Plus中的表单组件(Form)和对话框组件(Dialog),并解决行内表单中 el-select 宽度坍塌问题【给 el-select 指定固定宽度

image-20250221204309207.

.demo-form-inline .el-input {
  --el-input-width: 220px;
}

.demo-form-inline .el-select {
  --el-select-width: 220px;
}
  1. 理解数据库业务:一条 sql 语句查询前班结存、本班结存、入库数、出库数,时间粒度为天,数据库为 SQL server。

image-20250221112931596.

stock表的核心字段:create_date(出入库时间)、type(1入库2出库)、num(出入库数量)、本次剩余库存(stock)

前班结存:上一天(0:0:0<=天<=23:59:59)最后一条数据中的 stock

本班结存:当天最后一条数据中的 stock

入库:类型 type=1 的所有 num 和

出库:类型 type=2 的所有 num 和

具体思路:先查出当天日期和当前剩余库存,然后再根据时间条件来进行表连接,连接后查出日期、前班结存、本班结存数据。然后根据时间再查出入库和出库的数量,最后拼接获得日期、本班库存、前班库存、入库数、出库数。

SELECT
	a.日期,
	a.本班结存,
	a.前班结存,
	b.入库数,
	b.出库数 
FROM
	(
	SELECT
		D1.StockDate AS 日期,
		ISNULL( D2.Stock, 0 ) AS 前班结存,
		D1.Stock AS 本班结存 
	FROM
		(
		SELECT CAST
			( CreateDt AS DATE ) AS StockDate,
			Stock 
		FROM
			(
			SELECT
				CreateDt,
				Stock,
				ROW_NUMBER ( ) OVER ( PARTITION BY CAST ( CreateDt AS DATE ) ORDER BY CreateDt DESC ) AS RowNum 
			FROM
				stock数据库表 
			) AS DailyStock 
		WHERE
			RowNum = 1 
		) AS D1
		LEFT JOIN (
		SELECT CAST
			( CreateDt AS DATE ) AS StockDate,
			Stock 
		FROM
			(
			SELECT
				CreateDt,
				Stock,
				ROW_NUMBER ( ) OVER ( PARTITION BY CAST ( CreateDt AS DATE ) ORDER BY CreateDt DESC ) AS RowNum 
			FROM
				stock数据库表 
			) AS DailyStock 
		WHERE
			RowNum = 1 
		) AS D2 ON D1.StockDate = DATEADD( DAY, 1, D2.StockDate ) 
	) AS a
	INNER JOIN (
	SELECT CAST
		( CreateDt AS DATE ) AS 日期,
		SUM ( CASE WHEN Type = 1 THEN Num ELSE 0 END ) AS 入库数,
		SUM ( CASE WHEN Type = 2 THEN Num ELSE 0 END ) AS 出库数 
	FROM
		stock数据库表 
	GROUP BY
		CAST ( CreateDt AS DATE ) 
	) AS b ON a.日期 = b.日期 
ORDER BY
	a.日期;
posted @ 2025-02-21 20:45  软柠柠吖  阅读(20)  评论(0)    收藏  举报