private DataTable getStorageTable()
        {
            dt = new DataTable();
            dt.Columns.Add("drugName");
            dt.Columns.Add("batchNo");

            drugsUnqualificationCondition duc = new drugsUnqualificationCondition();

            duc.dtFrom              = this.checkBox1.Checked ? this.dateTimePicker1.Value:DateTime.MinValue;
            duc.dtTo                = this.checkBox1.Checked ? dateTimePicker1.Value : DateTime.MaxValue;
            duc.IsApproval          = true;
            duc.unqualificationType = 0;
            list = PharmacyDatabaseService.GetDrugsUnqualificationByCondition(out msg, duc).ToList();

            this.bList.Clear();
            DataRow dr = null;

            foreach (drugsUnqualication ar in list)
            {
                dr             = dt.NewRow();
                dr["drugName"] = ar.drugName;
                dr["batchNo"]  = ar.batchNo;
                dt.Rows.Add(dr);
            }
            return(dt);
        }
        private void tsbtnCancel_Click(object sender, EventArgs e)
        {
            string msg = string.Empty;

            dqc                     = new drugsUnqualificationCondition();
            dqc.batchNo             = cmbBatch.Text.Trim() == "全部" || cmbBatch.Text.Trim() == string.Empty ? string.Empty : cmbBatch.Text.Trim();
            dqc.drugName            = textBox1.Text.Trim() == "全部" || textBox1.Text.Trim() == string.Empty?string.Empty:textBox1.Text.Trim();
            dqc.unqualificationType = cmbUnqualificationType.SelectedIndex;
            dqc.dtFrom              = checkBox1.Checked? this.dateTimePicker1.Value:DateTime.MinValue;
            dqc.dtTo                = checkBox1.Checked ? this.dateTimePicker2.Value : DateTime.MaxValue;
            list                    = PharmacyDatabaseService.GetDrugsUnqualificationByCondition(out msg, dqc).ToList();
            var l = list.ToArray();
            var v = from i in l
                    select new drugsUnqualificationQuery
            {
                id                  = i.Id,
                flowID              = i.flowID,
                drugName            = i.drugName,
                batchNo             = i.batchNo,
                createTime          = i.createTime,
                unqualificationType = (drugsUnqualificationType)i.unqualificationType,
                quantity            = i.quantity,
                Description         = "双击查看",
                updateTime          = i.updateTime,
                IsApproval          = i.ApprovalStatusValue == 2 ? "已审" : i.ApprovalStatusValue == 4 ? "审批未通过" : i.ApprovalStatusValue == 1 ? "待审" : "其他"
            };

            recordCount = v.Count();
            dqs         = v.ToList();
            loadData();
        }
        //刷新列表
        private void GetUnqualificationData()
        {
            drugsUnqualificationCondition duc = new drugsUnqualificationCondition();

            duc.dtFrom = DateTime.MinValue;
            duc.dtTo   = DateTime.MaxValue;
            duc.unqualificationType = -1;  //新建不合格
            var c = this.PharmacyDatabaseService.GetDrugsUnqualificationByCondition(out msg, duc);

            c = c.Where(r => r.ApprovalStatusValue == -1 || r.ApprovalStatusValue == 4).ToArray();
            bList.Clear();
            foreach (var a in c)
            {
                bList.Add(a);
            }
            this.ClearCurrent();
        }
        private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            drugsUnqualificationCondition duc = new drugsUnqualificationCondition();

            duc.dtFrom = DateTime.MinValue;
            duc.dtTo   = DateTime.MaxValue;
            duc.unqualificationType = -1;
            var c = this.PharmacyDatabaseService.GetDrugsUnqualificationByCondition(out msg, duc);

            bList.Clear();
            switch (toolStripComboBox1.SelectedIndex)
            {
            case 0:
                c = c.Where(r => r.ApprovalStatusValue == -1 || r.ApprovalStatusValue == 4).ToArray();
                bList.Clear();
                foreach (var a in c)
                {
                    bList.Add(a);
                }
                break;

            case 1:
                c = c.Where(r => r.ApprovalStatusValue == -1).ToArray();
                foreach (var a in c)
                {
                    bList.Add(a);
                }
                break;

            case 2:
                c = c.Where(r => r.ApprovalStatusValue == 4).ToArray();
                foreach (var a in c)
                {
                    bList.Add(a);
                }
                break;
            }
            currentDU = null;
            CurrentIM = null;
        }
Exemple #5
0
        /// <summary>
        /// GetObjectEntityInstance
        /// </summary>
        /// <returns></returns>
        object GetObjectEntityInstance(int ApproveCategory, Guid flowid, ApprovalStatus action)
        {
            string msg = string.Empty;

            switch (ApproveCategory)
            {
            case (int)ApprovalType.SupplyUnitApproval:
            case (int)ApprovalType.SupplyUnitEditApproval:
            case (int)ApprovalType.SupplyUnitLockApproval:
                SupplyUnit su = BusinessHandlerFactory.SupplyUnitBusinessHandler.GetSupplyUnitByFlowID(flowid);
                if (su != null)    //测试时可能为NULL
                {
                    su.ApprovalStatus = action;
                }
                return(su);

            case (int)ApprovalType.DrugInfoApproval:
            case (int)ApprovalType.DrugInfoEditApproval:
            case (int)ApprovalType.DrugInfoLockApproval:
                DrugInfo di = BusinessHandlerFactory.DrugInfoBusinessHandler.GetDrugInfoByFlowID(flowid);
                if (di != null)    //测试时可能为NULL
                {
                    di.ApprovalStatus = action;
                }
                return(di);

            case (int)ApprovalType.PurchaseUnitApproval:
            case (int)ApprovalType.PurchaseUnitEditApproval:
            case (int)ApprovalType.PurchaseUnitLockApproval:
                PurchaseUnit pu = BusinessHandlerFactory.PurchaseUnitBusinessHandler.GetPurchaseUnitByFlowID(flowid);
                if (pu != null)    //测试时可能为NULL
                {
                    pu.ApprovalStatus = action;
                }
                return(pu);

            case (int)ApprovalType.drugsUnqualityApproval:
                drugsUnqualificationCondition dc = new drugsUnqualificationCondition();
                dc.FlowID = flowid;
                dc.dtFrom = DateTime.MinValue;
                dc.dtTo   = DateTime.MaxValue;
                DrugsUnqualication du = BusinessHandlerFactory.DrugsUnqualicationBusinessHandler.GetDrugsUnqualificationByCondition(dc).FirstOrDefault();
                if (du != null)
                {
                    du.ApprovalStatus = action;
                }
                return(du);

            case (int)ApprovalType.drugsBreakageApproval:
                DrugsBreakage db = BusinessHandlerFactory.DrugsBreakageBusinessHandler.GetDrugsBreakageByFlowID(flowid);
                if (db != null)
                {
                    db.ApprovalStatus = action;
                    if (action == ApprovalStatus.Reject)
                    {
                        var c = BusinessHandlerFactory.DrugsUnqualicationBusinessHandler.Get(db.DrugUnqualityId);
                        if (c != null)
                        {
                            c.unqualificationType = 0;
                            BusinessHandlerFactory.DrugsUnqualicationBusinessHandler.Save(c);
                        }
                    }
                }
                return(db);

            case (int)ApprovalType.drugsInventoryMove:
                DrugsInventoryMove dim = BusinessHandlerFactory.DrugsInventoryMoveBusinessHandler.GetDrugsInventoryMoveByFlowID(flowid);
                if (dim != null)
                {
                    dim.ApprovalStatus = action;
                }
                return(dim);

            case (int)ApprovalType.VehicleApproval:
                Vehicle v = BusinessHandlerFactory.VehicleBusinessHandler.GetVehicleByFlowID(flowid);
                if (v != null)
                {
                    v.ApprovalStatusValue = (int)action;
                }
                return(v);

            case (int)ApprovalType.DirectSalesApproval:
                Models.DirectSalesOrder dso = BusinessHandlerFactory.DirectSalesOrderBusinessHandler.GetDirectSalesOrderByFlowId(flowid);
                dso.ApprovalStatusValue = (int)action;
                return(dso);
            }
            return(null);
        }
Exemple #6
0
        public List <DrugsUnqualication> GetDrugsUnqualificationByCondition(drugsUnqualificationCondition Condition)
        {
            try
            {
                var result = this.Queryable;
                if (!string.IsNullOrWhiteSpace(Condition.drugName))
                {
                    result = result.Where(c => c.drugName.Contains(Condition.drugName));
                }
                if (!string.IsNullOrWhiteSpace(Condition.batchNo))
                {
                    result = result.Where(c => c.batchNo.Contains(Condition.batchNo));
                }
                if (Condition.FlowID != Guid.Empty)
                {
                    result = result.Where(c => c.flowID == Condition.FlowID);
                }

                if (Condition.dtFrom != DateTime.MinValue)
                {
                    Condition.dtFrom = Condition.dtFrom.AddHours(-DateTime.Now.Hour);
                    Condition.dtFrom = Condition.dtFrom.AddMinutes(-DateTime.Now.Minute);
                    Condition.dtFrom = Condition.dtFrom.AddSeconds(-DateTime.Now.Second);
                    result           = result.Where(c => c.createTime >= Condition.dtFrom);
                }
                if (Condition.dtTo != DateTime.MaxValue)
                {
                    Condition.dtTo = Condition.dtFrom.AddDays(1);
                    Condition.dtTo = Condition.dtTo.AddHours(-DateTime.Now.Hour);
                    Condition.dtTo = Condition.dtTo.AddMinutes(-DateTime.Now.Minute);
                    Condition.dtTo = Condition.dtTo.AddSeconds(-DateTime.Now.Second);
                    result         = result.Where(c => c.createTime <= Condition.dtTo);
                }
                //报损申请查询,不合格审核通过后。
                if (Condition.IsApproval)
                {
                    result = result.Where(c => c.ApprovalStatusValue == (int)ApprovalStatus.Approvaled);
                    result = result.Where(c => c.unqualificationType == -1 || c.unqualificationType == 0);//表示被提交至待销毁处理
                }

                var t = from i in result.ToList() where i.Deleted == false
                        join j in RepositoryProvider.Db.DrugInventoryRecords
                        on i.DrugInventoryRecordID equals j.Id into left
                        from iv in left.DefaultIfEmpty()
                        select new DrugsUnqualication
                {
                    DrugInventoryRecordID = i.DrugInventoryRecordID,
                    quantity            = i.quantity,
                    ApprovalStatusValue = i.ApprovalStatusValue,
                    batchNo             = i.batchNo,
                    CheckDocumentNumber = i.CheckDocumentNumber,
                    createTime          = i.createTime,
                    createUID           = i.createUID,
                    Description         = i.Description,
                    DocumentNumber      = i.DocumentNumber,
                    drugName            = i.drugName,
                    DosageType          = i.DosageType,
                    ExpireDate          = i.ExpireDate,
                    factoryName         = i.factoryName,
                    flowID                      = i.flowID,
                    produceDate                 = i.produceDate,
                    PurchasePrice               = i.PurchasePrice,
                    Id                          = i.Id,
                    source                      = i.source,
                    Specific                    = i.Specific,
                    unqualificationType         = i.unqualificationType,
                    updateTime                  = i.updateTime,
                    Origin                      = i.Origin,
                    DrugInfo                    = i.DrugInfo,
                    Supplyer                    = i.Supplyer,
                    PurchaseOrderDocumentNumber = i.PurchaseOrderDocumentNumber,
                    PurchaseOrderId             = i.PurchaseOrderId
                };

                return(t.ToList());
            }
            catch (Exception ex)
            {
                return(this.HandleException <List <DrugsUnqualication> >("不合格药品查询失败!", ex));
            }
            finally
            {
                this.Dispose();
            }
        }