This commit is contained in:
2025-09-02 14:52:56 +08:00
parent c4d6c52196
commit ae49652868
11 changed files with 415 additions and 36 deletions

View File

@@ -1,4 +1,5 @@
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Message.Act.AdminReport.PrdReport;
using MyCode.Project.Domain.Message.Act.Common;
using MyCode.Project.Domain.Message.Response.LxmZHMDReport;
using MyCode.Project.Domain.Model;
@@ -72,7 +73,6 @@ FROM
{
SearchCondition where = new SearchCondition();
where.AddSqlCondition("1=1 ", true);
string sql = $@"
SELECT
*
@@ -106,6 +106,166 @@ FROM
return list;
}
/// <summary>
/// 获取看板头数据
/// </summary>
/// <param name="yearAndMonth"></param>
/// <returns></returns>
public PrdReportHead GetMoDataChartHeadByYearAndMonth(YearAndMonth yearAndMonth)
{
var yearStartDate = new DateTime(yearAndMonth.Year, 1, 1);
var yearEndDate = yearStartDate.AddYears(1);
var monthStartDate = new DateTime(yearAndMonth.Year, yearAndMonth.Month, 1);
var monthEndDate = monthStartDate.AddMonths(1);
string sql = $@"
SELECT
(
SELECT
SUM(t1e.FQTY) YearPrdQty
FROM
T_PRD_MO t1
INNER JOIN T_PRD_MOENTRY t1e ON t1.FID = t1e.FID
WHERE
1 = 1
AND t1.FDATE >= {yearStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {yearEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
) YearPrdQty,
(
SELECT
SUM(t1e.FQTY) MonthPrdQty
FROM
T_PRD_MO t1
INNER JOIN T_PRD_MOENTRY t1e ON t1.FID = t1e.FID
WHERE
1 = 1
AND t1.FDATE >= {monthStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {monthEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
) MonthPrdQty,
(
SELECT
SUM(t1e.FREALQTY) InStockQty
FROM
T_PRD_INSTOCK t1
INNER JOIN T_PRD_INSTOCKENTRY t1e ON t1.FID = t1e.FID
WHERE
1 = 1
AND t1.FDATE >= {yearStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {yearEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
) YearInStockQty,
(
SELECT
SUM(t1e.FREALQTY) InStockQty
FROM
T_PRD_INSTOCK t1
INNER JOIN T_PRD_INSTOCKENTRY t1e ON t1.FID = t1e.FID
WHERE
1 = 1
AND t1.FDATE >= {monthStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {monthEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
) MonthPrdQty,
(
SELECT
SUM(t1.FQTY) StockQty
FROM
T_STK_INVENTORY t1
) StockQty
";
var result = this.SelectFirst<PrdReportHead>(sql);
result.dateTime = monthEndDate.AddDays(-1);
return result;
}
public List<MaterialAndQty> GetPrdInStockGroupByMaterial(YearAndMonth yearAndMonth)
{
var yearStartDate = new DateTime(yearAndMonth.Year, 1, 1);
var yearEndDate = yearStartDate.AddYears(1);
var monthStartDate = new DateTime(yearAndMonth.Year, yearAndMonth.Month, 1);
var monthEndDate = monthStartDate.AddMonths(1);
var sql = $@"
SELECT
tm.FMASTERID MaterialMasterId,
tm.FNUMBER MaterialNumber,
tm_l.FNAME MaterialName,
SUM(t1e.FREALQTY) Qty
FROM
T_PRD_INSTOCK t1
INNER JOIN T_PRD_INSTOCKENTRY t1e ON t1.FID = t1e.FID
INNER JOIN T_BD_MATERIAL tm ON t1e.FMATERIALID = tm.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L tm_l ON tm.FMATERIALID = tm_l.FMATERIALID
AND tm_l.FLOCALEID = 2052
WHERE
1 = 1
AND t1.FDATE >= {yearStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {yearEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
GROUP BY
tm.FMASTERID,
tm.FNUMBER,
tm_l.FNAME
";
var result = this.SelectList<MaterialAndQty>(sql);
return result;
}
public List<MaterialAndQty> GetPrdMoGroupByMaterial(YearAndMonth yearAndMonth)
{
var yearStartDate = new DateTime(yearAndMonth.Year, 1, 1);
var yearEndDate = yearStartDate.AddYears(1);
var monthStartDate = new DateTime(yearAndMonth.Year, yearAndMonth.Month, 1);
var monthEndDate = monthStartDate.AddMonths(1);
var sql = $@"
SELECT
tm.FMASTERID MaterialMasterId,
tm.FNUMBER MaterialNumber,
tm_l.FNAME MaterialName,
SUM(t1e.FQTY) Qty
FROM
T_PRD_MO t1
INNER JOIN T_PRD_MOENTRY t1e ON t1.FID = t1e.FID
INNER JOIN T_BD_MATERIAL tm ON t1e.FMATERIALID = tm.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L tm_l ON tm.FMATERIALID = tm_l.FMATERIALID
AND tm_l.FLOCALEID = 2052
WHERE
1 = 1
AND t1.FDATE >= {yearStartDate.ToString("yyyy-MM-dd")}
AND t1.FDATE < {yearEndDate.ToString("yyyy-MM-dd")}
AND t1.FDOCUMENTSTATUS = 'C'
GROUP BY
tm.FMASTERID,
tm.FNUMBER,
tm_l.FNAME
";
var result = this.SelectList<MaterialAndQty>(sql);
return result;
}
public List<MaterialAndQty> GetInventoryGroupByMaterial()
{
var sql = $@"
SELECT
tm.FMASTERID MaterialMasterId,
tm.FNUMBER MaterialNumber,
tm_l.FNAME MaterialName,
SUM(t1e.FQTY) Qty
FROM
T_STK_INVENTORY t1e
INNER JOIN T_BD_MATERIAL tm ON t1e.FMATERIALID = tm.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L tm_l ON tm.FMATERIALID = tm_l.FMATERIALID
AND tm_l.FLOCALEID = 2052
WHERE
1 = 1
GROUP BY
tm.FMASTERID,
tm.FNUMBER,
tm_l.FNAME
";
var result = this.SelectList<MaterialAndQty>(sql);
return result;
}
}
}