添加交接记录报表

This commit is contained in:
maqiao 2025-01-07 17:33:03 +08:00
parent 336531bb2a
commit 2178fa777c
5 changed files with 120 additions and 155 deletions

View File

@ -122,6 +122,9 @@
<None Update="ReportTemp\changeShifts_temp.grf"> <None Update="ReportTemp\changeShifts_temp.grf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>
<None Update="ReportTemp\changeShifts_temp_new.grf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="ReportTemp\machine_log_check.grf"> <None Update="ReportTemp\machine_log_check.grf">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>

View File

@ -51,5 +51,23 @@ namespace DM_Weight.Models
[SugarColumn(ColumnName = "machineId")] [SugarColumn(ColumnName = "machineId")]
public string MachineId { get; set; } public string MachineId { get; set; }
/// <summary>
/// 单位
/// </summary>
[SugarColumn(ColumnName = "pack_unit")]
public string PackdUnit { get; set; }
/// <summary>
/// 库存数
/// </summary>
[SugarColumn(ColumnName = "stockQuantity")]
public int StockQuantity { get; set; }
/// <summary>
/// 空瓶数
/// </summary>
[SugarColumn(ColumnName = "emptyQuantity")]
public int EmptyQuantity { get; set; }
} }
} }

View File

@ -243,7 +243,8 @@ namespace DM_Weight.Report
// 定义Grid++Report报表主对象 // 定义Grid++Report报表主对象
GridppReport Report = new GridppReport(); GridppReport Report = new GridppReport();
// 加载模板文件 // 加载模板文件
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "changeShifts_temp.grf"); //Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "changeShifts_temp.grf");
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "changeShifts_temp_new.grf");
string SQL = string.Empty; string SQL = string.Empty;
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString; Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() => Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() =>
@ -253,7 +254,7 @@ namespace DM_Weight.Report
Report.ParameterByName("endDate").Value = endDate ?? DateTime.Now.AddDays(1); Report.ParameterByName("endDate").Value = endDate ?? DateTime.Now.AddDays(1);
}); });
SQL = $@"SELECT opt_date,drug_name,drug_spec,beforenum,getnum,usenum,manu_no,surplus,CONCAT(fromoperator,' ',fromreviewer) as fromoperator, SQL = $@"SELECT opt_date,drug_name,drug_spec,beforenum,getnum,usenum,manu_no,surplus,CONCAT(fromoperator,' ',fromreviewer) as fromoperator,
CONCAT(tooperator,' ',toreviewer) as tooperator CONCAT(tooperator,' ',toreviewer) as tooperator,pack_unit,stockQuantity,emptyQuantity
from `hkc_shiftsreport` WHERE `machineid` = '{p_machine_id}' AND `opt_date` > '{p_startDate}' from `hkc_shiftsreport` WHERE `machineid` = '{p_machine_id}' AND `opt_date` > '{p_startDate}'
AND opt_date < '{p_endDate}' ORDER BY opt_date"; AND opt_date < '{p_endDate}' ORDER BY opt_date";
Report.DetailGrid.Recordset.QuerySQL = SQL; Report.DetailGrid.Recordset.QuerySQL = SQL;

File diff suppressed because one or more lines are too long

View File

@ -213,25 +213,32 @@ namespace DM_Weight.ViewModels
}).ExecuteCommand(); }).ExecuteCommand();
//插入交接班报表数据信息 //插入交接班报表数据信息
string strSql = @"SELECT drug.drug_name,drug.DRUG_SPEC,c.manu_no,d.useNum,d.getNum,sum(quantity) as surplus, //string strSql = @"SELECT drug.drug_name,drug.DRUG_SPEC,c.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,
(SELECT d2.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = c.`drug_id` and d2.manu_no=c.manu_no AND d2.operation_time < @beforeDate // (SELECT d2.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = c.`drug_id` and d2.manu_no=c.manu_no AND d2.operation_time < @beforeDate
ORDER BY d2.operation_time DESC,d2.id DESC LIMIT 1) AS beforeNum // ORDER BY d2.operation_time DESC,d2.id DESC LIMIT 1) AS beforeNum
from channel_stock c LEFT JOIN drug_info drug on c.drug_id=drug.drug_id left JOIN (SELECT drug_id,manu_no, // from channel_stock c LEFT JOIN drug_info drug on c.drug_id=drug.drug_id left JOIN (SELECT drug_id,manu_no,
SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1 // SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1
WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d // WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d
on c.drug_id=d.drug_id and c.manu_no=d.manu_no WHERE c.machine_id=@machineId and c.drug_id is not NULL GROUP BY c.Drug_ID ,c.manu_no // on c.drug_id=d.drug_id and c.manu_no=d.manu_no WHERE c.machine_id=@machineId and c.drug_id is not NULL GROUP BY c.Drug_ID ,c.manu_no
UNION // UNION
SELECT drug.drug_name,drug.DRUG_SPEC,d.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,(SELECT d2.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = d.`drug_id` and d2.manu_no=d.manu_no AND d2.operation_time < @beforeDate // SELECT drug.drug_name,drug.DRUG_SPEC,d.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,(SELECT d2.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = d.`drug_id` and d2.manu_no=d.manu_no AND d2.operation_time < @beforeDate
ORDER BY d2.operation_time DESC,d2.id DESC LIMIT 1) AS beforeNum from (SELECT drug_id,manu_no, SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1 // ORDER BY d2.operation_time DESC,d2.id DESC LIMIT 1) AS beforeNum from (SELECT drug_id,manu_no, SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1
WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d // WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d
LEFT JOIN drug_info drug on d.drug_id=drug.drug_id left JOIN channel_stock c on c.drug_id=d.drug_id and c.manu_no=d.manu_no AND c.machine_id=@machineId GROUP BY d.Drug_ID ,d.manu_no "; // LEFT JOIN drug_info drug on d.drug_id=drug.drug_id left JOIN channel_stock c on c.drug_id=d.drug_id and c.manu_no=d.manu_no AND c.machine_id=@machineId GROUP BY d.Drug_ID ,d.manu_no ";
//交接班表里只显示值班柜(row_no:1,2)的不显示周转柜
string strSql = @"SELECT di.drug_name as DrugName,di.drug_spec as DrugSpec,di.pack_unit,sum(if(cs.drawer_type=1,cs.quantity,0)) stockQuantity,
sum(if(cs.drawer_type=2,cs.quantity,0)) EmptyQuantity FROM channel_stock cs inner join drug_info di on cs.drug_id=di.drug_id
WHERE (row_no in(1,2) or drawer_type=2) and machine_id =@machineId GROUP BY cs.drug_id ORDER BY cs.Drug_ID";
List<ShiftsReport> shiftsReports = SqlSugarHelper.Db.SqlQueryable<dynamic>(strSql) List<ShiftsReport> shiftsReports = SqlSugarHelper.Db.SqlQueryable<dynamic>(strSql)
.AddParameters(new .AddParameters(new
{ {
machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1", machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1",
beforeDate = listHkcChangeShifts[0].OptDate, //beforeDate = listHkcChangeShifts[0].OptDate,
startDate = listHkcChangeShifts[0].OptDate, //startDate = listHkcChangeShifts[0].OptDate,
endDate = dt //endDate = dt
}) })
.Select(it => new ShiftsReport()) .Select(it => new ShiftsReport())
.ToList(); .ToList();
@ -245,11 +252,14 @@ namespace DM_Weight.ViewModels
OptDate = dt, OptDate = dt,
DrugName = shiftsReports[i].DrugName, DrugName = shiftsReports[i].DrugName,
DrugSpec = shiftsReports[i].DrugSpec, DrugSpec = shiftsReports[i].DrugSpec,
BeforeNum = shiftsReports[i].BeforeNum ?? 0, PackdUnit= shiftsReports[i].PackdUnit,
GetNum = shiftsReports[i].GetNum ?? 0, StockQuantity= shiftsReports[i].StockQuantity,
UseNum = shiftsReports[i].UseNum ?? 0, EmptyQuantity= shiftsReports[i].EmptyQuantity,
ManuNo = shiftsReports[i].ManuNo, //BeforeNum = shiftsReports[i].BeforeNum ?? 0,
Surplus = shiftsReports[i].Surplus ?? 0, //GetNum = shiftsReports[i].GetNum ?? 0,
//UseNum = shiftsReports[i].UseNum ?? 0,
//ManuNo = shiftsReports[i].ManuNo,
//Surplus = shiftsReports[i].Surplus ?? 0,
FromOperator = Operator == null ? "" : Operator.Nickname, FromOperator = Operator == null ? "" : Operator.Nickname,
FromReviewer = Reviewer == null ? "" : Reviewer.Nickname, FromReviewer = Reviewer == null ? "" : Reviewer.Nickname,
ToOperator = JieOperator == null ? "" : JieOperator.Nickname, ToOperator = JieOperator == null ? "" : JieOperator.Nickname,