报表中单位取small_unit(小单位)

This commit is contained in:
maqiao 2025-01-10 17:07:43 +08:00
parent 70527389bd
commit bbb1055359
6 changed files with 535 additions and 21 deletions

View File

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

View File

@ -48,7 +48,7 @@ namespace DM_Weight.Report
});
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,
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.small_unit as smallUnit,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 ";
if(App.SingleModel)
{
@ -110,11 +110,11 @@ namespace DM_Weight.Report
});
//Report.DetailGrid.Recordset.QuerySQL = SQL;
SQL = $@"SELECT TYPE, stockQuantity,inQuantity,outQuantity,operationTime,invoiceId,drugName,drugId,drugSpec,packUnit,dosage,manufactory,manuNo,effDate,
operatorName,reviewerName,supplierDept,receiveDept,bigUnit FROM
operatorName,reviewerName,supplierDept,receiveDept,bigUnit,smallUnit FROM
(SELECT mr.type, 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`,IF(mr.`type`=1,mr.`invoice_id`,NULL) AS `invoiceId`, di.`drug_name` AS `drugName`, di.`drug_id` AS `drugId`,
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`,
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit,di.small_unit as smallUnit, 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`,mr.supplierDept,mr.receiveDept 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}'
@ -164,7 +164,7 @@ namespace DM_Weight.Report
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.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.small_unit as smallUnit,
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}'
@ -175,7 +175,7 @@ namespace DM_Weight.Report
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.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.small_unit as smallUnit,
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
@ -188,7 +188,7 @@ namespace DM_Weight.Report
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.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.small_unit as smallUnit,
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`
@ -200,7 +200,7 @@ namespace DM_Weight.Report
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.`check_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.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,di.small_unit as smallUnit,
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
ul.`user_name` AS nickname,u2.`user_name` as reviewer FROM dm_machine_record dmr
LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
@ -303,7 +303,7 @@ namespace DM_Weight.Report
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//account_book_order.grf");
SQL = $@"SELECT DISTINCT oi.recv_date,oi.p_name,oi.sex,oi.age,oi.id_number,oi.patient_no,oi.disease,dm.manu_no,od.Quantity,oi.doctor_name,oi.order_no,dm.reviewer,dm.operator,ul.user_name operatorName,ul2.user_name reviewerName
,di.Drug_name,di.Drug_spec,di.big_unit,di.drug_id,dm.receivePerson,di.manuFactory,patient_card
,di.Drug_name,di.Drug_spec,di.big_unit,di.small_unit as smallUnit,di.drug_id,dm.receivePerson,di.manuFactory,patient_card
from order_info oi inner join order_detail od on oi.order_no=od.Order_No
LEFT JOIN dm_machine_record dm on oi.order_no=dm.invoice_id
inner JOIN drug_info di on od.drug_id=di.drug_id left join user_list ul on dm.operator=ul.id left join user_list ul2 on dm.reviewer=ul2.id WHERE dm.machine_id = '{p_machine_id}' and oi.recv_date>'{p_startDate}' and oi.recv_date<'{p_endDate}' and dm.type=2 ";
@ -340,7 +340,7 @@ namespace DM_Weight.Report
});
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//return_empty.grf");
SQL = $@"SELECT di.drug_id, YEAR(dm.operation_time) as dmYear,oi.P_name,oi.dept_name,dm.operation_time,dm.Quantity,dm.manu_no,dm.returnPerson,dm.receivePerson,di.drug_name,di.Drug_spec,di.big_unit,di.manufactory from order_info oi
SQL = $@"SELECT di.drug_id, YEAR(dm.operation_time) as dmYear,oi.P_name,oi.dept_name,dm.operation_time,dm.Quantity,dm.manu_no,dm.returnPerson,dm.receivePerson,di.drug_name,di.Drug_spec,di.big_unit,di.small_unit as smallUnit,di.manufactory from order_info oi
inner join dm_machine_record dm on oi.order_no=dm.invoice_id
inner join drug_info di on dm.drug_id=di.drug_id
where dm.type=32 and dm.machine_id = '{p_machine_id}' and dm.operation_time>'{p_startDate}' and dm.operation_time<'{p_endDate}'";
@ -378,13 +378,13 @@ namespace DM_Weight.Report
//WHERE mr.`machine_id` = '{machine_id}' and type=5 and DATE_FORMAT(operation_time,'%Y-%m')='{strDate}' ORDER BY mr.drug_id,operation_time";
SQL = $@"SELECT t.drugId,t.DMYear,t.DMMonth,t.DMDay,t.manuNo,t.operationTime,t.inQuantity as inQuantity,t.outQuantity AS outQuantity,dmr.manunoQuantity AS stockQuantity,t.operatorName,t.reviewerName,
t.drugName,t.drugSpec,t.packUnit,t.bigUnit,t.dosage,t.manufactory from dm_machine_record dmr inner join
t.drugName,t.drugSpec,t.packUnit,t.bigUnit,t.smallUnit,t.dosage,t.manufactory from dm_machine_record dmr inner join
(SELECT max(mr.id) id, mr.drug_id as drugId,'test' InTotal,YEAR(mr.`operation_time`) as DMYear,MONTH(mr.`operation_time`) as DMMonth,
DAY(mr.`operation_time`) as DMDay,manu_no as manuNo,operation_time as operationTime,
SUM(IF(mr.`type` IN (1, 31), mr.`quantity`, IF(mr.`type` = 4 AND mr.`quantity` > 0, mr.`quantity`, 0)) ) AS `inQuantity`,
SUM(IF(mr.`type` = 2, mr.`quantity`, IF(mr.`type` = 4 AND mr.`quantity` < 0, (0 - mr.`quantity`), 0))) AS `outQuantity`,
manunoQuantity as stockQuantity,u1.user_name as operatorName,u2.user_name as reviewerName,di.`drug_name` AS `drugName`,
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit,di.small_unit as smallUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`
FROM dm_machine_record mr INNER 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` = '{machine_id}' and type in(1,2,31,4,5) and mr.manu_no is not NULL and DATE_FORMAT(operation_time,'%Y-%m')='{strDate}'and IF(mr.`type` = 4 AND mr.`quantity` = 0, 99999, mr.`quantity`) <>99999
GROUP BY drugId,DMYear,DMMonth,DMDay,manuNo ORDER BY mr.drug_id,operation_time) t on dmr.id=t.id";
@ -458,7 +458,7 @@ namespace DM_Weight.Report
string strDate = endDate.ToString("yyyy-MM");
string masterSql = $@" SELECT DISTINCT di.`drug_id` AS `drugId`, YEAR(mr.`operation_time`) as DMYear,MONTH(mr.`operation_time`) as DMMonth, di.`drug_name` AS `drugName`, di.`drug_spec` AS `drugSpec`,
di.big_unit as bigUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`, '' lastMonthStock,'' lastMonthMauno,
di.big_unit as bigUnit,di.small_unit as smallUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`, '' lastMonthStock,'' lastMonthMauno,
mr.`manu_no` AS `manuNo`from dm_machine_record mr inner join drug_info di on mr.drug_id=di.drug_id where machine_id='{machine_id}' and type in(1,2,31,4) and DATE_FORMAT(mr.operation_time,'%Y-%m')='{strDate}'
ORDER BY mr.drug_id";
List<Dictionary<string, object>> masterList = SqlSugarHelper.Db.SqlQueryable<dynamic>(masterSql).ToDictionaryList();
@ -506,7 +506,7 @@ namespace DM_Weight.Report
string strDate = MonthDate.ToString("yyyy-MM");
int DMYear = MonthDate.Year;
int DMMonth = MonthDate.Month;
string masterSql = $@"SELECT distinct di.drug_id as drugId,di.drug_name as drugName,di.drug_spec as drugSpec,di.big_unit as bigUnit,di.manufactory as manufactory,{DMYear} DMYear,{DMMonth} DMMonth from channel_stock cs
string masterSql = $@"SELECT distinct di.drug_id as drugId,di.drug_name as drugName,di.drug_spec as drugSpec,di.big_unit as bigUnit,di.small_unit as smallUnit,di.manufactory as manufactory,{DMYear} DMYear,{DMMonth} DMMonth from channel_stock cs
inner join drug_info di on cs.drug_id=di.drug_id where machine_id='{machine_id}' ORDER BY di.drug_id ";
List<Dictionary<string, object>> masterList = SqlSugarHelper.Db.SqlQueryable<dynamic>(masterSql).ToDictionaryList();
@ -634,7 +634,7 @@ namespace DM_Weight.Report
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`,-- IF(mr.`type`=1,mr.`invoice_id`,NULL) AS `invoiceId`,
di.`drug_name` AS `drugName`, di.`drug_id` AS `drugId`,
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit, di.`dosage` AS `dosage`, di.`manufactory` AS `manufactory`,
di.`drug_spec` AS `drugSpec`, di.`pack_unit` AS `packUnit`,di.big_unit as bigUnit,di.small_unit as smallUnit, 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` -- ,mr.supplierDept,mr.receiveDept
-- sum(InQuantity) as TotalInQuantity

File diff suppressed because one or more lines are too long

View File

@ -19,7 +19,7 @@
{
"Name":"日期",
"Type":"DateTime",
"Format":"yyyy/MM/dd",
"Format":"yyyy/MM/dd HH:mm:ss",
"DBFieldName":"opt_date"
},
{
@ -79,7 +79,7 @@
"Column":[
{
"Name":"药品名称",
"Width":4.60375
"Width":5.58271
},
{
"Name":"规格",
@ -98,7 +98,8 @@
"Name":"空安瓿数"
},
{
"Name":"交接班时间"
"Name":"交接班时间",
"Width":6.42938
},
{
"Name":"交班人",
@ -118,6 +119,7 @@
{
"Column":"药品名称",
"TextAlign":"MiddleCenter",
"ShrinkFontToFit":true,
"DataField":"品名"
},
{
@ -148,6 +150,8 @@
{
"Column":"交接班时间",
"TextAlign":"MiddleCenter",
"CanShrink":true,
"ShrinkFontToFit":true,
"DataField":"日期"
},
{
@ -251,6 +255,8 @@
"Charset":134
},
"TextAlign":"MiddleCenter",
"CanShrink":true,
"ShrinkFontToFit":true,
"Text":"交接班时间"
},
{
@ -327,14 +333,14 @@
"Name":"Line1",
"Anchor":"[Left|Top|Right]",
"Top":2.6,
"Width":25.9821
"Width":30.4006
},
{
"Type":"Line",
"Name":"Line2",
"Anchor":"[Left|Top|Right]",
"Top":2.68,
"Width":25.9821
"Width":30.4006
}
]
},

View File

@ -228,7 +228,7 @@ namespace DM_Weight.ViewModels
//交接班表里只显示值班柜(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,
string strSql = @"SELECT di.drug_name as DrugName,di.drug_spec as DrugSpec,di.small_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<=8 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)
@ -241,8 +241,10 @@ namespace DM_Weight.ViewModels
})
.Select(it => new ShiftsReport())
.ToList();
logger.Info(strSql);
if (shiftsReports != null && shiftsReports.Count > 0)
{
logger.Info($"进入shiftsReports != null{shiftsReports.Count}");
for (int i = 0; i < shiftsReports.Count; i++)
{

View File

@ -200,7 +200,7 @@ namespace DM_Weight.ViewModels
.WhereIF(App.SingleModel, cs => cs.DrawerNo <= 8 ) //单人登录开前8个抽屉双人登录开后8个抽屉
.WhereIF(!(App.SingleModel), cs => cs.DrawerNo > 8 )
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.DrugId != null&&cs.Quantity>0).OrderBy(cs => cs.DrawerNo).OrderBy(cs => cs.ColNo).ToList())
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugId"), (cs) => cs.DrugId.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugId"), (cs) => cs.DrugId.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugName"), (cs) => cs.DrugName.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("PyCode"), (cs) => cs.PyCode.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugBarcode"), (cs) => cs.DrugBarcode.Contains(SearchValue))