370 lines
23 KiB
C#
370 lines
23 KiB
C#
using gregn6Lib;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using DM_Weight.Models;
|
|
using System.Configuration;
|
|
using DM_Weight.util;
|
|
using System.Diagnostics;
|
|
|
|
namespace DM_Weight.Report
|
|
{
|
|
public class GridReportUtil
|
|
{
|
|
|
|
// 定义Grid++Report报表主对象
|
|
public static GridppReport Report = new GridppReport();
|
|
public static string gridConnectionString = ConfigurationManager.AppSettings["gridConnectionString"];
|
|
/**
|
|
* 打印预览
|
|
* tempname: 模板文件名称
|
|
* data: 模板数据
|
|
*/
|
|
public static void PrintReport(string tempname, object data)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + tempname);
|
|
string s = JsonConvert.SerializeObject(data);
|
|
// 加载数据
|
|
Report.LoadDataFromXML(JsonConvert.SerializeObject(data));
|
|
Report.PrintPreview(true);
|
|
}
|
|
|
|
public static void PrintReportStock()
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
//Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() =>
|
|
//{
|
|
// Report.ParameterByName("machine_id").Value = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
//});
|
|
string machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
string SQL = $@"SELECT cl.`row_no` AS drawerNo,cl.`col_no` AS colNo,cl.`quantity` AS quantity,cl.`manu_no` AS manuNo,cl.`eff_date` AS effDate,
|
|
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,
|
|
cl.`drug_id` AS drugId FROM channel_stock cl INNER JOIN drug_info di ON di.`drug_id` = cl.`drug_id` WHERE cl.`machine_id` = '{machine_id}' AND cl.`drawer_type` = 1 ORDER BY cl.`drug_id`";
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "stock_template.grf");
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
Report.PrintPreview(true);
|
|
}
|
|
public static void PrintReportAccountBook(DateTime? startDate, DateTime? endDate)
|
|
{
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "account_book_temp.grf");
|
|
string SQL = string.Empty;
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
//Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() =>
|
|
//{
|
|
// Report.ParameterByName("machine_id").Value = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
// Report.ParameterByName("startDate").Value = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
// Report.ParameterByName("endDate").Value = endDate ?? DateTime.Now.AddDays(1);
|
|
//});
|
|
//Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
SQL = $@"SELECT mr.`stock_quantity` AS `stockQuantity`, IF(mr.`type` IN (1, 31), mr.`quantity`, IF(mr.`type` = 4 AND mr.`quantity` > 0, mr.`quantity`, 0))
|
|
AS `inQuantity`, IF(mr.`type` = 2, mr.`quantity`, IF(mr.`type` = 4 AND mr.`quantity` < 0, (0 - mr.`quantity`), 0)) AS `outQuantity`,
|
|
mr.`operation_time` AS `operationTime`, mr.`invoice_id` AS `invoiceId`, di.`drug_name` AS `drugName`, di.`drug_id` AS `drugId`,
|
|
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`,
|
|
mr.`manu_no` AS `manuNo`, mr.`eff_date` AS `effDate`, u1.`user_name` AS `operatorName`, u2.`user_name` AS `reviewerName` FROM
|
|
dm_machine_record mr LEFT JOIN drug_info di ON mr.`drug_id` = di.`drug_id` LEFT JOIN user_list u1 ON mr.`operator` = u1.`id`
|
|
LEFT JOIN user_list u2 ON mr.`reviewer` = u2.`id` WHERE mr.`machine_id` = '{p_machine_id}' AND mr.`operation_time` > '{p_startDate}'
|
|
AND mr.`operation_time` < '{p_endDate}' ORDER BY mr.`drug_id`, mr.`operation_time`, mr.`id`";
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
Report.PrintPreview(true);
|
|
}
|
|
public static void PrintReportAccountBook(DateTime? startDate, DateTime? endDate, int type, string drug_id)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "account_book_temp.grf");
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
string SQL = $@" SELECT ac.create_date as operationTime, ac.TYPE,
|
|
if(ac.type in(1,2),0,ac.yesterday_quantity) as YQuantity,if(ac.type in(3,4),0,ac.add_quantity) as inQuantity,if(ac.type in(3,4),0,ac.out_quantity) as outQuantity,
|
|
if(ac.type in(1,2),0,ac.manu_stock) as ManuStock,ac.total_stock AS stockQuantity, -- if(ac.type in(1,2),0,ac.total_stock) as TotalStock,
|
|
ac.invoice_no as invoiceId, ac.manu_no as manuNo,ac.eff_date as effDate,di.drug_id,di.drug_name as DrugName,di.drug_spec as DrugSpec,di.manufactory as manufactory,di.pack_unit AS packUnit,di.dosage,u1.user_name as operatorName,u2.user_name as reviewerName
|
|
FROM account_book_g2 ac left join drug_info di on ac.drug_id=di.drug_id left join user_list u1 on ac.user_id1=u1.id left join user_list u2 on ac.user_id2=u2.id
|
|
WHERE ac.machine_id='{p_machine_id}' and create_time>'{p_startDate}' AND create_time<'{p_endDate}' ";
|
|
if (!string.IsNullOrEmpty(drug_id))
|
|
{
|
|
SQL += " AND ac.drug_id='" + drug_id + "' ";
|
|
}
|
|
if (type > 0)
|
|
{
|
|
if (type == 1)
|
|
{
|
|
SQL += " WHERE AddQuantity>0 ";
|
|
}
|
|
if (type == 2)
|
|
{
|
|
SQL += " WHERE OutQuantity>0 ";
|
|
}
|
|
if (type == 3)
|
|
{
|
|
SQL += " WHERE type=3 ";
|
|
}
|
|
if (type == 4)
|
|
{
|
|
SQL += " WHERE type=4 ";
|
|
}
|
|
}
|
|
SQL += " ORDER BY di.drug_id,ac.create_date desc";
|
|
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
Report.PrintPreview(true);
|
|
//string filePath = AppDomain.CurrentDomain.BaseDirectory + "ReportTemp//" + "account_book_temp.pdf";
|
|
//if (File.Exists(filePath))
|
|
//{
|
|
// try
|
|
// {
|
|
|
|
// File.Delete(filePath);
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// FindAndKillProcess();
|
|
|
|
// }
|
|
//}
|
|
//Report.ExportDirect(GRExportType.gretPDF, filePath, false, true);
|
|
}
|
|
public static void PrintReportMechineRecord(int type, DateTime? startDate, DateTime? endDate)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
string SQL = string.Empty;
|
|
//Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() =>
|
|
//{
|
|
// Report.ParameterByName("machine_id").Value = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
// Report.ParameterByName("startDate").Value = startDate??DateTime.Now.AddYears(-10);
|
|
// Report.ParameterByName("endDate").Value = endDate??DateTime.Now.AddDays(1);
|
|
//});
|
|
// 加载模板文件
|
|
if (type == 1)
|
|
{
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "machine_log_add.grf");
|
|
SQL = $@"SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`quantity` AS quantity,
|
|
dmr.`manu_no` AS manuNo,dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,
|
|
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
|
|
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
|
|
ul.`user_name` AS nickname FROM dm_machine_record dmr LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
|
|
LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator` WHERE dmr.`type` = 1 AND dmr.`machine_id` = '{p_machine_id}'
|
|
AND dmr.`operation_time` > '{p_startDate}' AND dmr.`operation_time` < '{p_endDate}'";
|
|
}
|
|
else if (type == 2)
|
|
{
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "machine_log_take.grf");
|
|
SQL = $@" SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`quantity` AS quantity,
|
|
dmr.`manu_no` AS manuNo,dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,
|
|
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
|
|
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
|
|
ul.`user_name` AS nickname FROM dm_machine_record dmr LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
|
|
LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator` WHERE dmr.`type` = 2
|
|
AND dmr.`machine_id` ='{p_machine_id}' AND dmr.`operation_time` > '{p_startDate}'
|
|
AND dmr.`operation_time` < '{p_endDate}'";
|
|
}
|
|
else if (type == 3)
|
|
{
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "machine_log_return.grf");
|
|
SQL = $@" SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,
|
|
CONCAT(dmr.`quantity`,IF(dmr.`type`=32,""(空瓶)"","""")) AS quantity,dmr.`manu_no` AS manuNo,
|
|
dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,di.`drug_name` AS drugName,
|
|
di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
|
|
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,
|
|
dmr.`drug_id` AS drugId,ul.`user_name` AS nickname FROM dm_machine_record dmr
|
|
LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id` LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator`
|
|
WHERE dmr.`type` in (31, 32) AND dmr.`machine_id` = '{p_machine_id}' AND dmr.`operation_time` > '{p_startDate}'
|
|
AND dmr.`operation_time` < '{p_endDate}'";
|
|
}
|
|
else
|
|
{
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "machine_log_check.grf");
|
|
SQL = $@" SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`quantity` AS quantity,
|
|
dmr.`manu_no` AS manuNo,dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,
|
|
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
|
|
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
|
|
ul.`user_name` AS nickname FROM dm_machine_record dmr LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
|
|
LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator` WHERE dmr.`type` = 4
|
|
AND dmr.`machine_id` = '{p_machine_id}' AND dmr.`operation_time` > '{p_startDate}'
|
|
AND dmr.`operation_time` < '{p_endDate}'";
|
|
}
|
|
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
|
|
Report.PrintPreview(true);
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* 打印预览
|
|
* tempname: 模板文件名称
|
|
* data: 模板数据
|
|
*/
|
|
public static void PrintMachineRecordReport(List<MachineRecord> data)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//machine_log.grf");
|
|
|
|
// 加载数据
|
|
Report.ParameterByName("type").AsInteger = 1;
|
|
Report.PrintPreview(true);
|
|
}
|
|
//交接班记录报表
|
|
public static void PrintChangeShiftsReport(DateTime? startDate, DateTime? endDate)
|
|
{
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
// 加载模板文件
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "changeShifts_temp.grf");
|
|
string SQL = string.Empty;
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(() =>
|
|
{
|
|
Report.ParameterByName("machine_id").Value = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
Report.ParameterByName("startDate").Value = startDate ?? Convert.ToDateTime("2010-1-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,
|
|
CONCAT(tooperator,' ',toreviewer) as tooperator
|
|
from `hkc_shiftsreport` WHERE `machineid` = '{p_machine_id}' AND `opt_date` > '{p_startDate}'
|
|
AND opt_date < '{p_endDate}' ORDER BY opt_date";
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
//Report.PrintPreview(true);
|
|
string filePath = AppDomain.CurrentDomain.BaseDirectory + "ReportTemp//" + "changeShifts_temp.pdf";
|
|
if (File.Exists(filePath))
|
|
{
|
|
try
|
|
{
|
|
|
|
File.Delete(filePath);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
FindAndKillProcess();
|
|
|
|
}
|
|
}
|
|
Report.ExportDirect(GRExportType.gretPDF, filePath, false, true);
|
|
|
|
}
|
|
public static bool FindAndKillProcess()
|
|
{
|
|
foreach (Process clsProcess in Process.GetProcesses())
|
|
{
|
|
if (clsProcess.ProcessName.Contains("wps") || clsProcess.ProcessName.Contains("msedge"))
|
|
{
|
|
clsProcess.Kill();
|
|
//return true;
|
|
}
|
|
}
|
|
//process not found, return false
|
|
return false;
|
|
}
|
|
/// <summary>
|
|
/// 空安瓿回收销毁报表
|
|
/// </summary>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
public static void PrintEmptyDestoryReport(DateTime? startDate, DateTime? endDate)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
string SQL = string.Empty;
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "ReturnEmptyDistory_template.grf");
|
|
|
|
SQL = $@"
|
|
SELECT di.drug_id, di.drug_name as drugName,di.dosage,di.drug_spec as drugSpec,di.big_unit,oi.Order_Date, CONCAT(oi.p_name,'/',oi.dept_name) as userDeptName,
|
|
od.Quantity,mr.Manu_No,ul.user_name as retuenUser,u2.user_name as returnReviewer,u3.User_name as distoryUser,u4.User_name as distoryRevierer,(od.Quantity-mr.return_quantity2) as needReturnEmptyCount
|
|
from order_info oi inner join order_detail od on oi.order_no=od.order_no
|
|
inner join (SELECT id as mrId,manu_no,invoice_id,id,operator,reviewer, sum(return_quantity2) as return_quantity2 FROM dm_machine_record where type=2 and machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}' GROUP BY invoice_id) mr on oi.order_no=mr.invoice_id
|
|
INNER JOIN drug_info di on od.drug_id=di.drug_id
|
|
LEFT JOIN (SELECT manu_no,invoice_id,id,operator,reviewer,get_id from dm_machine_record where type=32 and machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') re on re.get_id=mr.id
|
|
LEFT JOIN (SELECT recordId,operatorid,reviewerid,machine_id FROM destory_detail WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') ddl on re.id=ddl.recordId
|
|
-- LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') ul0 on mr.operator=ul0.id
|
|
-- LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') ul00 on re.reviewer=ul00.id
|
|
LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') ul on re.operator=ul.id
|
|
LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') u2 on re.reviewer=u2.id
|
|
LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') u3 on ddl.operatorid=u3.id
|
|
LEFT JOIN (SELECT User_name,machine_id,id FROM user_list WHERE machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') u4 on ddl.reviewerid=u4.id
|
|
WHERE
|
|
oi.Pharmacy='{ConfigurationManager.AppSettings["storage"] ?? ""}' and oi.Order_Date>'{startDate}' and oi.Order_Date<'{endDate}' GROUP BY Order_Date";
|
|
|
|
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
|
|
Report.PrintPreview(true);
|
|
}
|
|
/// <summary>
|
|
/// 发药登记表
|
|
/// </summary>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
public static void OrderUseReport(DateTime? startDate,DateTime? endDate, string drug_id)
|
|
{
|
|
// 定义Grid++Report报表主对象
|
|
GridppReport Report = new GridppReport();
|
|
DateTime? p_startDate = startDate ?? Convert.ToDateTime("2010-1-1");
|
|
DateTime? p_endDate = endDate ?? DateTime.Now.AddDays(1);
|
|
string p_machine_id = (ConfigurationManager.AppSettings["machineId"] ?? "DM1");
|
|
string SQL = string.Empty;
|
|
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "orderUse_template.grf");
|
|
|
|
SQL = $@"
|
|
SELECT oi.p_name,oi.age,oi.sex,oi.id_number,oi.patientno,oi.disease,od.drug_id,oi.doctor_name,oi.order_no,oi.order_date,
|
|
dmr.id,dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`quantity` AS quantity,
|
|
dmr.`manu_no` AS manuNo,dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,
|
|
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
|
|
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
|
|
ul.`user_name` AS nickname,U2.`user_name` AS reviewNickname FROM dm_machine_record dmr
|
|
|
|
INNER JOIN ORDER_INFO oi on dmr.invoice_id=oi.order_no
|
|
INNER JOIN order_detail od on oi.order_no=od.order_no and oi.order_id=od.order_id
|
|
|
|
LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
|
|
LEFT JOIN (select id,user_name from user_list where machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') ul ON ul.`id` = dmr.`Operator`
|
|
LEFT JOIN (select id,user_name from user_list where machine_id='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}') U2 ON U2.ID=dmr.reviewer
|
|
WHERE dmr.`type` = 2 and oi.Pharmacy='{ConfigurationManager.AppSettings["storage"] ?? ""}'
|
|
AND dmr.`machine_id` ='{ConfigurationManager.AppSettings["machineId"] ?? "DM3"}' AND oi.`order_date` > '{startDate}'
|
|
AND oi.`order_date` < '{endDate}'";
|
|
|
|
if (!string.IsNullOrEmpty(drug_id))
|
|
{
|
|
SQL += " AND ac.drug_id='" + drug_id + "' ";
|
|
}
|
|
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;
|
|
Report.DetailGrid.Recordset.QuerySQL = SQL;
|
|
|
|
Report.PrintPreview(true);
|
|
|
|
}
|
|
}
|
|
}
|