Beispiel #1
0
        /// <summary>
        /// 预发药汇总
        /// </summary>
        /// <param name="dteStart"></param>
        /// <param name="dteEnd"></param>
        /// <param name="dtbResult"></param>
        /// <returns></returns>
        public void m_mthGetCureMedStatment()
        {
            string    dteStart            = m_objViewer.dteStart.Text;
            string    dteEnd              = m_objViewer.dteEnd.Text;
            string    deptStr             = m_objViewer.DeptIdArr;
            string    medName             = m_objViewer.txtMedName.Text;
            DataTable dtbResult           = null;
            string    orderType           = string.Empty;
            string    orderStatus         = string.Empty;
            string    deptName            = string.Empty;
            string    medId               = string.Empty;
            int       flgDept             = 0;
            int       n                   = 0;
            List <EntityPretestStat> data = new List <EntityPretestStat>();

            m_objManage.lngGetCureMedStatment(dteStart, dteEnd, deptStr, medName, out dtbResult);

            if (dtbResult.Rows.Count > 0 && dtbResult != null)
            {
                foreach (DataRow dr in dtbResult.Rows)
                {
                    flgDept  = 0;
                    deptName = dr["deptName"].ToString();
                    medId    = dr["assistcode_chr"].ToString();

                    for (int i = 0; i < data.Count; i++)
                    {
                        if (deptName == data[i].deptName && medId == data[i].medId)
                        {
                            data[i].medReMount += Convert.ToDecimal(dr["ipamountreal"]);
                            data[i].medAmt     += Convert.ToDecimal(dr["unitprice_mny"]) * Convert.ToDecimal(dr["ipamountreal"]);
                            flgDept             = 1;
                        }
                    }

                    if (flgDept == 0)
                    {
                        EntityPretestStat vo = new EntityPretestStat();
                        vo.n          = ++n;
                        vo.deptName   = dr["deptName"].ToString();
                        vo.medId      = dr["assistcode_chr"].ToString();
                        vo.medName    = dr["medicinename_vchr"].ToString();
                        vo.medGg      = dr["medspec_vchr"].ToString();
                        vo.medPrice   = Convert.ToDecimal(dr["unitprice_mny"]);
                        vo.medReMount = Convert.ToDecimal(dr["ipamountreal"]);
                        vo.medAmt     = Convert.ToDecimal(dr["unitprice_mny"]) * Convert.ToDecimal(dr["ipamountreal"]);
                        data.Add(vo);
                    }
                }
            }

            m_objViewer.dgvData.DataSource = data;
        }
Beispiel #2
0
        /// <summary>
        /// 预发药汇总
        /// </summary>
        /// <param name="dteStart"></param>
        /// <param name="dteEnd"></param>
        /// <param name="dtbResult"></param>
        /// <returns></returns>
        public void m_mthGetKsMed()
        {
            string    dteStart            = m_objViewer.dteStart.Text;
            string    dteEnd              = m_objViewer.dteEnd.Text;
            string    deptStr             = m_objViewer.DeptIdArr;
            DataTable dtbResult           = null;
            string    orderType           = string.Empty;
            string    orderStatus         = string.Empty;
            string    deptName            = string.Empty;
            string    medId               = string.Empty;
            int       n                   = 0;
            List <EntityPretestStat> data = new List <EntityPretestStat>();

            m_objManage.lngGetKsMed(dteStart, dteEnd, deptStr, out dtbResult);

            if (dtbResult.Rows.Count > 0 && dtbResult != null)
            {
                foreach (DataRow dr in dtbResult.Rows)
                {
                    EntityPretestStat vo = new EntityPretestStat();
                    deptName       = dr["deptName"].ToString();
                    medId          = dr["assistcode_chr"].ToString();
                    vo.n           = ++n;
                    vo.deptName    = dr["deptName"].ToString();
                    vo.orderStatus = dr["orderStatus"].ToString();
                    vo.inpatientId = dr["inpatientid"].ToString();
                    vo.patName     = dr["patName"].ToString();
                    vo.orderTime   = dr["ordertime"].ToString();
                    vo.orderName   = dr["DicName"].ToString().Trim();
                    vo.orderYf     = dr["usageName"].ToString().Trim();
                    vo.orderPL     = dr["freqName"].ToString().Trim();
                    vo.orderMount  = Convert.ToDecimal(dr["medMount"]);
                    vo.orderUnite  = dr["unit"].ToString();
                    vo.postDoct    = dr["postdoct"].ToString().Trim();
                    data.Add(vo);
                }
            }

            m_objViewer.dgvData.DataSource = data;
        }
        /// <summary>
        /// 预发药汇总
        /// </summary>
        /// <param name="dteStart"></param>
        /// <param name="dteEnd"></param>
        /// <param name="dtbResult"></param>
        /// <returns></returns>
        public void m_mthGetPretestMedStatment()
        {
            string    dteStart         = m_objViewer.dteStart.Text;
            string    dteEnd           = m_objViewer.dteEnd.Text;
            string    deptStr          = m_objViewer.DeptIdArr;
            string    medName          = m_objViewer.txtMedName.Text;
            DataTable dtbResult        = null;
            DataTable reDt             = null;
            string    orderType        = string.Empty;
            string    orderStatus      = string.Empty;
            string    deptName         = string.Empty;
            string    medId            = string.Empty;
            string    isHs             = string.Empty;
            string    isHstmp          = string.Empty;
            string    isPretestCharge  = string.Empty;
            int       flgDept          = 0;
            int       flgReputmedreqId = 0;
            int       n = 0;
            List <EntityPretestStat> data       = new List <EntityPretestStat>();
            List <EntityPretestStat> data2      = new List <EntityPretestStat>();
            List <EntityPretestStat> data3      = new List <EntityPretestStat>();
            List <EntityPretestStat> dataSource = new List <EntityPretestStat>();
            DateTime dte = DateTime.Now.AddDays(-2);

            if (dteStart != string.Empty && dteEnd != string.Empty)
            {
                if (Convert.ToDateTime(dteStart + " 00:00:00") > Convert.ToDateTime(dteEnd + " 00:00:00"))
                {
                    return;
                }
                if (Convert.ToDateTime(dteEnd + " 00:00:00") > Convert.ToDateTime(dte.ToString("yyyy-MM-dd") + " 00:00:00"))
                {
                    return;
                }
            }

            orderType = m_objViewer.cboOrderType.Text.Trim();
            if (m_objViewer.chkIsHsN.Checked == true)
            {
                isHs = "未回收";
            }
            else if (m_objViewer.chkIsHsY.Checked == true)
            {
                isHs = "是";
            }
            else if (m_objViewer.chkIsHsAll.Checked == true)
            {
                isHs = "全部";
            }

            string        rePutmedreqId    = string.Empty;
            string        rePutmedreqIdStr = string.Empty;
            List <string> lstReputmedreqId = new List <string>();;
            decimal       getDec           = 0;
            decimal       reMountSum       = 0;

            m_objManage.lngGetPretestMedStatment(dteStart, dteEnd, deptStr, orderType, medName, out dtbResult);

            if (orderType == "停止")
            {
                if (dtbResult.Rows.Count > 0 && dtbResult != null)
                {
                    foreach (DataRow dr in dtbResult.Rows)
                    {
                        if (dr["refputmedreqid_chr"] != DBNull.Value)
                        {
                            if (rePutmedreqIdStr.Contains(dr["refputmedreqid_chr"].ToString()))
                            {
                                continue;
                            }
                            rePutmedreqIdStr += "'" + dr["refputmedreqid_chr"].ToString() + "',";
                        }
                    }
                }

                if (!string.IsNullOrEmpty(rePutmedreqIdStr))
                {
                    rePutmedreqIdStr = "(" + rePutmedreqIdStr.TrimEnd(',') + ")";
                    m_objManage.lngGetRePretestMedStat(rePutmedreqIdStr, out reDt);
                }

                if (dtbResult.Rows.Count > 0 && dtbResult != null)
                {
                    foreach (DataRow dr in dtbResult.Rows)
                    {
                        flgDept         = 0;
                        getDec          = 0;
                        reMountSum      = 0;
                        isHstmp         = string.Empty;
                        deptName        = dr["deptName"].ToString();
                        medId           = dr["assistcode_chr"].ToString();
                        orderStatus     = dr["orderStatus"].ToString();
                        rePutmedreqId   = dr["refputmedreqid_chr"].ToString();
                        isPretestCharge = dr["isPretestCharge"].ToString();
                        if (dr["recOperName"] != DBNull.Value && dr["recDate"] != DBNull.Value)
                        {
                            isHstmp = "是";
                        }
                        else
                        {
                            isHstmp = "未回收";
                        }

                        if (isHs != "全部")
                        {
                            if (isHstmp != isHs)
                            {
                                continue;
                            }
                        }

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (deptName == data[i].deptName && medId == data[i].medId && orderStatus == data[i].orderStatus)//&& data[i].isHs == isHstmp& &
                            {
                                data[i].medMount += Convert.ToDecimal(dr["preAmount"]);
                                if (!string.IsNullOrEmpty(rePutmedreqId) && reDt != null)
                                {
                                    foreach (string var in lstReputmedreqId)
                                    {
                                        if (var == rePutmedreqId)
                                        {
                                            flgReputmedreqId = 1;
                                        }
                                    }
                                    if (flgReputmedreqId == 0)
                                    {
                                        DataRow[] drr = reDt.Select("putmeddetailid_chr = '" + rePutmedreqId + "' and assistcode_chr = '" + medId + "'");

                                        if (drr.Length > 0)
                                        {
                                            lstReputmedreqId.Add(rePutmedreqId);

                                            for (int drI = 0; drI < drr.Length; drI++)
                                            {
                                                getDec     += Convert.ToDecimal(drr[drI]["get_dec"]);
                                                reMountSum += Convert.ToDecimal(drr[drI]["premedamount"]);
                                            }
                                        }
                                    }
                                    if (reMountSum >= 0)
                                    {
                                        data[i].backMount += reMountSum;
                                    }



                                    flgReputmedreqId = 0;
                                }

                                if (isPretestCharge == "是")
                                {
                                    data[i].backMount += Convert.ToDecimal(dr["preAmount"]);//减去已收费的
                                }

                                data[i].reMount = data[i].medMount - data[i].backMount;

                                if (data[i].reMount > 0)
                                {
                                    data[i].reMountStr = data[i].reMount.ToString();
                                }
                                if (data[i].backMount > 0)
                                {
                                    data[i].backMountStr = data[i].backMount.ToString();
                                }
                                if (data[i].medMount > 0)
                                {
                                    data[i].medMountStr = data[i].medMount.ToString();
                                }

                                flgDept = 1;
                            }
                        }

                        if (flgDept == 0)
                        {
                            EntityPretestStat vo = new EntityPretestStat();
                            vo.orderStatus = dr["orderStatus"].ToString();
                            vo.deptName    = dr["deptName"].ToString();
                            vo.medId       = dr["assistcode_chr"].ToString();
                            vo.medName     = dr["medicinename_vchr"].ToString();
                            if (vo.medName.Length > 18)
                            {
                                vo.medName = vo.medName.Substring(0, 18);
                            }
                            vo.medGg    = dr["medspec_vchr"].ToString();
                            vo.medMount = Convert.ToDecimal(dr["preAmount"]);
                            if (dr["recOperName"] != DBNull.Value && dr["recDate"] != DBNull.Value)
                            {
                                vo.isHs = "是";
                            }
                            else
                            {
                                vo.isHs = "未回收";
                            }

                            if (!string.IsNullOrEmpty(rePutmedreqId) && reDt != null)
                            {
                                foreach (string var in lstReputmedreqId)
                                {
                                    if (var == rePutmedreqId)
                                    {
                                        flgReputmedreqId = 1;
                                    }
                                }
                                if (flgReputmedreqId == 0)
                                {
                                    DataRow[] drr = reDt.Select("putmeddetailid_chr = '" + rePutmedreqId + "' and assistcode_chr = '" + medId + "'");

                                    if (drr.Length > 0)
                                    {
                                        lstReputmedreqId.Add(rePutmedreqId);

                                        for (int drI = 0; drI < drr.Length; drI++)
                                        {
                                            getDec     += Convert.ToDecimal(drr[drI]["get_dec"]);
                                            reMountSum += Convert.ToDecimal(drr[drI]["premedamount"]);
                                        }
                                    }
                                }

                                if (reMountSum >= 0)
                                {
                                    vo.backMount += reMountSum;
                                }

                                flgReputmedreqId = 0;
                            }

                            if (isPretestCharge == "是")
                            {
                                vo.backMount += Convert.ToDecimal(dr["preAmount"]);//减去已收费的
                            }

                            vo.reMount = vo.medMount - vo.backMount;

                            if (vo.reMount > 0)
                            {
                                vo.reMountStr = vo.reMount.ToString();
                            }
                            if (vo.backMount > 0)
                            {
                                vo.backMountStr = vo.backMount.ToString();
                            }
                            if (vo.medMount > 0)
                            {
                                vo.medMountStr = vo.medMount.ToString();
                            }


                            data.Add(vo);
                        }
                    }
                }

                if (data.Count > 0 && m_objViewer.chkShowRefund.Checked == true)
                {
                    for (int i = 0; i < data.Count; i++)
                    {
                        data[i].backMountStr = data[i].backMount.ToString();
                        data[i].medMountStr  = data[i].medMount.ToString();
                        data[i].reMountStr   = data[i].reMount.ToString();
                        if (data[i].reMount > 0)
                        {
                            data2.Add(data[i]);
                        }
                    }

                    string dept     = string.Empty;
                    string deptLast = string.Empty;

                    for (int i2 = 0; i2 < data2.Count; i2++)
                    {
                        dept = data2[i2].deptName;

                        dataSource.Add(data2[i2]);
                        if (dept != deptLast)
                        {
                            deptLast = dept;
                            if (i2 != 0)
                            {
                                string            dteFromTo = m_objViewer.dteStart.Text + "~" + m_objViewer.dteEnd.Text;
                                EntityPretestStat vo1       = new EntityPretestStat();
                                vo1.deptName = dteFromTo;
                                dataSource.Insert(dataSource.Count - 1, vo1);

                                EntityPretestStat vo = new EntityPretestStat();
                                vo.deptName    = "科室名称";
                                vo.medId       = "药品代码";
                                vo.medName     = "药品名称";
                                vo.medGg       = "规格";
                                vo.reMountStr  = "应退";
                                vo.medMountStr = "预发";
                                dataSource.Insert(dataSource.Count - 1, vo);
                            }
                        }
                    }
                    m_objViewer.dgvData.DataSource = dataSource;
                }
                else
                {
                    m_objViewer.dgvData.DataSource = data;
                }
            }
            else
            {
                if (dtbResult.Rows.Count > 0 && dtbResult != null)
                {
                    foreach (DataRow dr in dtbResult.Rows)
                    {
                        flgDept         = 0;
                        getDec          = 0;
                        reMountSum      = 0;
                        isHstmp         = string.Empty;
                        deptName        = dr["deptName"].ToString();
                        medId           = dr["assistcode_chr"].ToString();
                        orderStatus     = dr["orderStatus"].ToString();
                        rePutmedreqId   = dr["refputmedreqid_chr"].ToString();
                        isPretestCharge = dr["isPretestCharge"].ToString();
                        if (dr["recOperName"] != DBNull.Value && dr["recDate"] != DBNull.Value)
                        {
                            isHstmp = "是";
                        }
                        else
                        {
                            isHstmp = "未回收";
                        }

                        if (isHs != "全部")
                        {
                            if (isHstmp != isHs)
                            {
                                continue;
                            }
                        }

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (deptName == data[i].deptName && medId == data[i].medId && orderStatus == data[i].orderStatus)//&& data[i].isHs == isHstmp& &
                            {
                                data[i].medMount += Convert.ToDecimal(dr["preAmount"]);

                                if (data[i].reMount > 0)
                                {
                                    data[i].reMountStr = data[i].reMount.ToString();
                                }
                                if (data[i].backMount > 0)
                                {
                                    data[i].backMountStr = data[i].backMount.ToString();
                                }
                                if (data[i].medMount > 0)
                                {
                                    data[i].medMountStr = data[i].medMount.ToString();
                                }

                                flgDept = 1;
                            }
                        }


                        if (flgDept == 0)
                        {
                            EntityPretestStat vo = new EntityPretestStat();
                            vo.orderStatus = dr["orderStatus"].ToString();
                            vo.deptName    = dr["deptName"].ToString();
                            vo.medId       = dr["assistcode_chr"].ToString();
                            vo.medName     = dr["medicinename_vchr"].ToString();
                            vo.medGg       = dr["medspec_vchr"].ToString();
                            vo.medMount    = Convert.ToDecimal(dr["preAmount"]);
                            if (dr["recOperName"] != DBNull.Value && dr["recDate"] != DBNull.Value)
                            {
                                vo.isHs = "是";
                            }
                            else
                            {
                                vo.isHs = "未回收";
                            }

                            if (vo.reMount > 0)
                            {
                                vo.reMountStr = vo.reMount.ToString();
                            }
                            if (vo.backMount > 0)
                            {
                                vo.backMountStr = vo.backMount.ToString();
                            }
                            if (vo.medMount > 0)
                            {
                                vo.medMountStr = vo.medMount.ToString();
                            }

                            data.Add(vo);
                        }
                    }
                    m_objViewer.dgvData.DataSource = data;
                }
            }
        }