一个处方取同一种药合并数量
盘点添加machine_id字体查询分别显示 同一处方下不同药品在处方账册报表中添加药品id关联条件
This commit is contained in:
		
							parent
							
								
									c4dd916353
								
							
						
					
					
						commit
						5b1762dbdf
					
				| 
						 | 
					@ -28,7 +28,7 @@
 | 
				
			||||||
		<!-- 自动退出时间,单位秒,为0时不自动退出 -->
 | 
							<!-- 自动退出时间,单位秒,为0时不自动退出 -->
 | 
				
			||||||
		<add key="autoExit" value="0"/>
 | 
							<add key="autoExit" value="0"/>
 | 
				
			||||||
		<!--报表数据库连接-->
 | 
							<!--报表数据库连接-->
 | 
				
			||||||
		<add key="gridConnectionString" value="MYSQL; Database=sanya_xx; Password=root; Port=3306; Server=127.0.0.1; User=root;"/>
 | 
							<add key="gridConnectionString" value="MYSQL; Database=sanya_xianchang; Password=root; Port=3306; Server=127.0.0.1; User=root;"/>
 | 
				
			||||||
		<!-- 查询处方是orderNo还是orderGroupNo -->
 | 
							<!-- 查询处方是orderNo还是orderGroupNo -->
 | 
				
			||||||
		<add key="OrderNoName" value="orderNo" />
 | 
							<add key="OrderNoName" value="orderNo" />
 | 
				
			||||||
		<!-- 后门耗材板地址 没有则填写0-->
 | 
							<!-- 后门耗材板地址 没有则填写0-->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,5 +127,12 @@ namespace DM_Weight.Models
 | 
				
			||||||
        ///</summary>
 | 
					        ///</summary>
 | 
				
			||||||
        [SugarColumn(ColumnName = "use_dosage")]
 | 
					        [SugarColumn(ColumnName = "use_dosage")]
 | 
				
			||||||
        public string UseDosage { get; set; }
 | 
					        public string UseDosage { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///  
 | 
				
			||||||
 | 
					        /// 默认值: 0
 | 
				
			||||||
 | 
					        ///</summary>
 | 
				
			||||||
 | 
					        [SugarColumn(ColumnName = "detail_status")]
 | 
				
			||||||
 | 
					        public int? DetailStatus { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -305,7 +305,7 @@ namespace DM_Weight.Report
 | 
				
			||||||
            SQL = $@"SELECT DISTINCT oi.recv_date,oi.p_name,oi.sex,oi.age,oi.id_number,oi.patient_no,oi.disease,dm.manu_no,dm.Quantity,oi.doctor_name,oi.order_no,dm.reviewer,dm.operator,ul.user_name operatorName,ul2.user_name reviewerName
 | 
					            SQL = $@"SELECT DISTINCT oi.recv_date,oi.p_name,oi.sex,oi.age,oi.id_number,oi.patient_no,oi.disease,dm.manu_no,dm.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.small_unit as smallUnit,di.drug_id,dm.receivePerson,di.manuFactory,patient_card,dm.ordinalNum as ordinalNum,CONCAT(DATE_FORMAT(operation_time,'%Y%m%d'),ordinalnum) as OrderOrdinal
 | 
						                ,di.Drug_name,di.Drug_spec,di.big_unit,di.small_unit as smallUnit,di.drug_id,dm.receivePerson,di.manuFactory,patient_card,dm.ordinalNum as ordinalNum,CONCAT(DATE_FORMAT(operation_time,'%Y%m%d'),ordinalnum) as OrderOrdinal
 | 
				
			||||||
	                 from order_info oi inner join order_detail od on oi.order_no=od.Order_No  
 | 
						                 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 
 | 
						                 LEFT JOIN dm_machine_record dm on oi.order_no=dm.invoice_id  AND od.`drug_id`=dm.`drug_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 
 | 
						                 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 ";
 | 
					                     WHERE dm.machine_id = '{p_machine_id}' and oi.recv_date>'{p_startDate}' and oi.recv_date<'{p_endDate}' and dm.type=2 ";
 | 
				
			||||||
            if (!string.IsNullOrEmpty(orderNo))
 | 
					            if (!string.IsNullOrEmpty(orderNo))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,7 @@ using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Collections.ObjectModel;
 | 
					using System.Collections.ObjectModel;
 | 
				
			||||||
using System.ComponentModel;
 | 
					using System.ComponentModel;
 | 
				
			||||||
 | 
					using System.Configuration;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using System.Text;
 | 
					using System.Text;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
| 
						 | 
					@ -144,7 +145,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            int totalCount = 0;
 | 
					            int totalCount = 0;
 | 
				
			||||||
            string strSql = @"SELECT optDate AS optdate,U.User_name AS operatorUser,R.User_name AS reviewerUser,Drug_spec AS drugSpec,Manufactory AS manufactory,Quantity FROM check_stock C 
 | 
					            string strSql = @"SELECT optDate AS optdate,U.User_name AS operatorUser,R.User_name AS reviewerUser,Drug_spec AS drugSpec,Manufactory AS manufactory,Quantity FROM check_stock C 
 | 
				
			||||||
                                LEFT JOIN user_list U ON C.operator=U.ID  LEFT JOIN user_list R ON C.reviewer=R.ID WHERE 1=1";
 | 
					                                LEFT JOIN user_list U ON C.operator=U.ID  LEFT JOIN user_list R ON C.reviewer=R.ID WHERE C.machine_id='" + ConfigurationManager.AppSettings["machineId"] ??"DM1" +"'";
 | 
				
			||||||
            if(StartDate!=null)
 | 
					            if(StartDate!=null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                strSql += " AND C.optDate>@OPTSTARTDATE ";
 | 
					                strSql += " AND C.optDate>@OPTSTARTDATE ";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -175,9 +175,9 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
 | 
					            orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
 | 
				
			||||||
              //.Includes<DrugInfo>(od => od.DrugInfo)
 | 
					              //.Includes<DrugInfo>(od => od.DrugInfo)
 | 
				
			||||||
              .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
 | 
					              .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
 | 
				
			||||||
              .Where(od => OrderInfo.Select(o => o.OrderNo).Contains(od.OrderNo)).GroupBy(od=>od.DrugId)
 | 
					              .Where(od => OrderInfo.Select(o => o.OrderNo).Contains(od.OrderNo)).GroupBy(od => od.DrugId)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              .Select(od=>new OrderDetail { DrugId=od.DrugId,SetEffDate=od.SetEffDate,SetManuNo=od.SetManuNo, Quantity=SqlFunc.AggregateSum(od.Quantity) })
 | 
					              .Select(od => new OrderDetail { Id = od.Id, DrugId = od.DrugId, SetEffDate = od.SetEffDate, SetManuNo = od.SetManuNo, Quantity = SqlFunc.AggregateSum(od.Quantity) })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //.Where(od => od.OrderNo. OrderInfo.OrderNo)
 | 
					                //.Where(od => od.OrderNo. OrderInfo.OrderNo)
 | 
				
			||||||
                .ToList();
 | 
					                .ToList();
 | 
				
			||||||
| 
						 | 
					@ -361,29 +361,58 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                //    OrderNo = OrderInfo[j].OrderNo
 | 
					                                //    OrderNo = OrderInfo[j].OrderNo
 | 
				
			||||||
                                //}).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
					                                //}).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                SqlSugarHelper.Db.Insertable(new OrderFinish()
 | 
					                                //SqlSugarHelper.Db.Insertable(new OrderFinish()
 | 
				
			||||||
                                {
 | 
					                                //{
 | 
				
			||||||
                                    OrderNo = OrderInfo[j].OrderNo,
 | 
					                                //    OrderNo = OrderInfo[j].OrderNo,
 | 
				
			||||||
                                    PatientId = OrderInfo[j].PatientId,
 | 
					                                //    PatientId = OrderInfo[j].PatientId,
 | 
				
			||||||
                                    Pharmacy = OrderInfo[j].Pharmacy,
 | 
					                                //    Pharmacy = OrderInfo[j].Pharmacy,
 | 
				
			||||||
                                    State = 1,
 | 
					                                //    State = 1,
 | 
				
			||||||
                                    Operator = HomeWindowViewModel.Operator?.Nickname,
 | 
					                                //    Operator = HomeWindowViewModel.Operator?.Nickname,
 | 
				
			||||||
                                });
 | 
					                                //});
 | 
				
			||||||
 | 
					                                //已取药数量
 | 
				
			||||||
 | 
					                                int hasTake = 0;
 | 
				
			||||||
                                for (int i = 0; i < record.Count; i++)
 | 
					                                for (int i = 0; i < record.Count; i++)
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    int ordinalNum = SqlSugarHelper.Db.Queryable<MachineRecord>()
 | 
					                                    int ordinalNum = SqlSugarHelper.Db.Queryable<MachineRecord>()
 | 
				
			||||||
                                              .Where(mr => mr.OperationTime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
 | 
					                                              .Where(mr => mr.OperationTime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
 | 
				
			||||||
                                              .Max(mr => mr.OrdinalNum);
 | 
					                                              .Max(mr => mr.OrdinalNum);
 | 
				
			||||||
                                    List<OrderDetail> orderDet = SqlSugarHelper.Db.Queryable<OrderDetail>().Where(od => od.OrderNo == OrderInfo[j].OrderNo && od.DrugId == record[i].DrugId).ToList();
 | 
					                                    int orderTakeQuantity = SqlSugarHelper.Db.Queryable<OrderDetail>()
 | 
				
			||||||
                                    //该对方没有这个药,跳出循环
 | 
					                                             .Where(od => od.OrderNo == OrderInfo[j].OrderNo && od.DrugId == record[i].DrugId && od.DetailStatus == 0)
 | 
				
			||||||
                                    if (orderDet == null || orderDet.Count <= 0)
 | 
					                                            .GroupBy(od => new { od.DrugId, od.SetManuNo }).Sum(od => od.Quantity);
 | 
				
			||||||
 | 
					                                    if (hasTake > 0)
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        orderTakeQuantity = orderTakeQuantity - hasTake;
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                    //该处方没有这个药,跳出循环
 | 
				
			||||||
 | 
					                                    if (orderTakeQuantity <= 0 || record[i].Quantity <= 0)
 | 
				
			||||||
                                        continue;
 | 
					                                        continue;
 | 
				
			||||||
                                    int orderTakeQuantity = orderDet[0].Quantity;
 | 
					                                    if (!(record[i].Quantity == orderTakeQuantity))
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        if (record[i].Quantity > orderTakeQuantity)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            //record[i].TakeQuantity = record[i].TakeQuantity - orderTakeQuantity;
 | 
				
			||||||
 | 
					                                            record[i].TakeQuantity = orderTakeQuantity;
 | 
				
			||||||
 | 
					                                            hasTake += orderTakeQuantity;
 | 
				
			||||||
 | 
					                                            record[i].Quantity = record[i].Quantity - orderTakeQuantity;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                        else if (record[i].Quantity < orderTakeQuantity)
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            hasTake += record[i].Quantity;
 | 
				
			||||||
 | 
					                                            record[i].TakeQuantity = record[i].Quantity;
 | 
				
			||||||
 | 
					                                            record[i].Quantity = 0;
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                    else
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        record[i].TakeQuantity = orderTakeQuantity;
 | 
				
			||||||
 | 
					                                        record[i].Quantity = record[i].Quantity - record[i].TakeQuantity;
 | 
				
			||||||
 | 
					                                        hasTake += record[i].TakeQuantity;
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
                                    ChannelStock it = record[i];
 | 
					                                    ChannelStock it = record[i];
 | 
				
			||||||
                                    // 更新数据 库存信息
 | 
					                                    // 更新数据 库存信息
 | 
				
			||||||
                                    SqlSugarHelper.Db.Updateable(new ChannelStock()
 | 
					                                    SqlSugarHelper.Db.Updateable(new ChannelStock()
 | 
				
			||||||
                                    {
 | 
					                                    {
 | 
				
			||||||
                                        Quantity = it.Quantity - it.TakeQuantity,
 | 
					                                        Quantity = record[i].Quantity,
 | 
				
			||||||
                                        ManuNo = it.ManuNo,
 | 
					                                        ManuNo = it.ManuNo,
 | 
				
			||||||
                                        EffDate = it.EffDate,
 | 
					                                        EffDate = it.EffDate,
 | 
				
			||||||
                                        Id = it.Id,
 | 
					                                        Id = it.Id,
 | 
				
			||||||
| 
						 | 
					@ -407,12 +436,23 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                        Operator = HomeWindowViewModel.Operator?.Id,
 | 
					                                        Operator = HomeWindowViewModel.Operator?.Id,
 | 
				
			||||||
                                        Reviewer = HomeWindowViewModel.Reviewer?.Id,
 | 
					                                        Reviewer = HomeWindowViewModel.Reviewer?.Id,
 | 
				
			||||||
                                        OperationTime = DateTime.Now,
 | 
					                                        OperationTime = DateTime.Now,
 | 
				
			||||||
                                        Quantity = orderTakeQuantity,
 | 
					                                        Quantity = record[i].TakeQuantity,
 | 
				
			||||||
                                        Type = 2,
 | 
					                                        Type = 2,
 | 
				
			||||||
                                        InvoiceId = InvoiceId,
 | 
					                                        InvoiceId = InvoiceId,
 | 
				
			||||||
                                        OrdinalNum = ordinalNum + 1
 | 
					                                        OrdinalNum = ordinalNum + 1,
 | 
				
			||||||
                                        //,StockQuantity = nowChannels.Sum(it => it.Quantity)
 | 
					                                        StockQuantity = nowChannels.Sum(it => it.Quantity),
 | 
				
			||||||
 | 
					                                        ManunoQuantity = nowChannels.FindAll(it2 => it2.ManuNo == it.ManuNo).Sum(it => it.Quantity),
 | 
				
			||||||
 | 
					                                        SupplierDept = ConfigurationManager.AppSettings["receiveDept"].ToString(),
 | 
				
			||||||
 | 
					                                        ReceiveDept = OrderInfo[j].DeptName
 | 
				
			||||||
                                    }).ExecuteCommand();
 | 
					                                    }).ExecuteCommand();
 | 
				
			||||||
 | 
					                                    if (0 == record[i].Quantity)
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        record[i].TakeQuantity = 0;
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                    if (record[i].TakeQuantity == orderTakeQuantity)
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        break;
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                                //更新处方状态
 | 
					                                //更新处方状态
 | 
				
			||||||
                                SqlSugarHelper.Db.Updateable(new OrderInfo()
 | 
					                                SqlSugarHelper.Db.Updateable(new OrderInfo()
 | 
				
			||||||
| 
						 | 
					@ -420,6 +460,17 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                    DmStatus = 1,
 | 
					                                    DmStatus = 1,
 | 
				
			||||||
                                    OrderNo = OrderInfo[j].OrderNo
 | 
					                                    OrderNo = OrderInfo[j].OrderNo
 | 
				
			||||||
                                }).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
					                                }).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                //更新处方明细状态为已取药1
 | 
				
			||||||
 | 
					                                List<OrderDetail> orderDetailLst = SqlSugarHelper.Db.Queryable<OrderDetail>().Where(od => od.OrderNo == OrderInfo[j].OrderNo&&od.DetailStatus==0).ToList();
 | 
				
			||||||
 | 
					                                if (orderDetailLst != null && orderDetailLst.Count > 0)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    orderDetailLst.ForEach(od => od.DetailStatus = 1);
 | 
				
			||||||
 | 
					                                    SqlSugarHelper.Db.Updateable(orderDetailLst).UpdateColumns(it => new { it.DetailStatus }).ExecuteCommand();
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                return true;
 | 
					                                return true;
 | 
				
			||||||
                            });
 | 
					                            });
 | 
				
			||||||
                            if (f.Data)
 | 
					                            if (f.Data)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -310,7 +310,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            //    strSearchValue = SearchValue.Trim().Replace("\r", "");
 | 
					            //    strSearchValue = SearchValue.Trim().Replace("\r", "");
 | 
				
			||||||
            //}
 | 
					            //}
 | 
				
			||||||
            List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
 | 
					            List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
 | 
				
			||||||
                .InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo)
 | 
					                .InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo&&od.DetailStatus==0)
 | 
				
			||||||
                .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
 | 
					                .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
 | 
				
			||||||
                .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
 | 
					                .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
 | 
				
			||||||
                .WhereIF(!(OrderDepartment.DeptName.Equals("全部")), oi => oi.DeptName == OrderDepartment.DeptName)
 | 
					                .WhereIF(!(OrderDepartment.DeptName.Equals("全部")), oi => oi.DeptName == OrderDepartment.DeptName)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -181,9 +181,18 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        public void RequestData()
 | 
					        public void RequestData()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
 | 
					            orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
 | 
				
			||||||
                  .Includes<DrugInfo>(od => od.DrugInfo)
 | 
					                  //.Includes<DrugInfo>(od => od.DrugInfo)
 | 
				
			||||||
                  .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
 | 
					                  .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
 | 
				
			||||||
                  .Where(od => od.OrderNo == OrderInfo.OrderNo)
 | 
					                  .Where(od => od.OrderNo == OrderInfo.OrderNo&&od.DetailStatus==0)
 | 
				
			||||||
 | 
					                  .Select(od=>new OrderDetail{
 | 
				
			||||||
 | 
					                      Id=od.Id,
 | 
				
			||||||
 | 
					                      DrugId = od.DrugId,
 | 
				
			||||||
 | 
					                      SetEffDate = od.SetEffDate,
 | 
				
			||||||
 | 
					                      SetManuNo = od.SetManuNo,
 | 
				
			||||||
 | 
					                      OrderNo = od.OrderNo,
 | 
				
			||||||
 | 
					                      Quantity =SqlFunc.AggregateSum(od.Quantity),
 | 
				
			||||||
 | 
					                  })
 | 
				
			||||||
 | 
					                .GroupBy(od => new { od.DrugId, od.SetEffDate, od.SetManuNo })
 | 
				
			||||||
                  .ToList();
 | 
					                  .ToList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            List<ChannelStock> channelStocks = new List<ChannelStock>();
 | 
					            List<ChannelStock> channelStocks = new List<ChannelStock>();
 | 
				
			||||||
| 
						 | 
					@ -237,7 +246,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    msg.Add($"药品【{orderDetail.DrugInfo.DrugName}】库存不足,应取【{TakeQ}】库存【{total}】");
 | 
					                    msg.Add($"药品【{HasQChannels[0].DrugInfo.DrugName}】库存不足,应取【{TakeQ}】库存【{total}】");
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (msg.Count > 0)
 | 
					            if (msg.Count > 0)
 | 
				
			||||||
| 
						 | 
					@ -354,14 +363,16 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                OrderNo = OrderInfo.OrderNo
 | 
					                                OrderNo = OrderInfo.OrderNo
 | 
				
			||||||
                            }).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
					                            }).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            SqlSugarHelper.Db.Insertable(new OrderFinish()
 | 
					
 | 
				
			||||||
                            {
 | 
					
 | 
				
			||||||
                                OrderNo = OrderInfo.OrderNo,
 | 
					                            //SqlSugarHelper.Db.Insertable(new OrderFinish()
 | 
				
			||||||
                                PatientId = OrderInfo.PatientId,
 | 
					                            //{
 | 
				
			||||||
                                Pharmacy = OrderInfo.Pharmacy,
 | 
					                            //    OrderNo = OrderInfo.OrderNo,
 | 
				
			||||||
                                State = 1,
 | 
					                            //    PatientId = OrderInfo.PatientId,
 | 
				
			||||||
                                Operator = HomeWindowViewModel.Operator?.Nickname,
 | 
					                            //    Pharmacy = OrderInfo.Pharmacy,
 | 
				
			||||||
                            });
 | 
					                            //    State = 1,
 | 
				
			||||||
 | 
					                            //    Operator = HomeWindowViewModel.Operator?.Nickname,
 | 
				
			||||||
 | 
					                            //});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            for (int i = 0; i < record.Count; i++)
 | 
					                            for (int i = 0; i < record.Count; i++)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
| 
						 | 
					@ -406,6 +417,14 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                    ReceivePerson=ReceivePerson,
 | 
					                                    ReceivePerson=ReceivePerson,
 | 
				
			||||||
                                    OrdinalNum = ordinalNum<=0?1:ordinalNum + 1,
 | 
					                                    OrdinalNum = ordinalNum<=0?1:ordinalNum + 1,
 | 
				
			||||||
                                }).ExecuteCommand();
 | 
					                                }).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                //更新处方明细状态为已取药1
 | 
				
			||||||
 | 
					                                List<OrderDetail> orderDetailLst = SqlSugarHelper.Db.Queryable<OrderDetail>().Where(od => od.OrderNo == OrderInfo.OrderNo && od.DetailStatus == 0).ToList();
 | 
				
			||||||
 | 
					                                if (orderDetailLst != null && orderDetailLst.Count > 0)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    orderDetailLst.ForEach(od => od.DetailStatus = 1);
 | 
				
			||||||
 | 
					                                    SqlSugarHelper.Db.Updateable(orderDetailLst).UpdateColumns(it => new { it.DetailStatus }).ExecuteCommand();
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            return true;
 | 
					                            return true;
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -226,7 +226,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            OrderInfos.Clear();
 | 
					            OrderInfos.Clear();
 | 
				
			||||||
            int totalCount = 0;
 | 
					            int totalCount = 0;
 | 
				
			||||||
            List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
 | 
					            List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
 | 
				
			||||||
                .InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo)
 | 
					                .InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo && od.DetailStatus == 0)
 | 
				
			||||||
                .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
 | 
					                .InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
 | 
				
			||||||
                .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
 | 
					                .WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
 | 
				
			||||||
                .WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("OrderNo"), oi => oi.OrderNo == SearchValue)
 | 
					                .WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("OrderNo"), oi => oi.OrderNo == SearchValue)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue