Beispiel #1
0
        /// <summary>
        /// 审方通过
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_OnComplete(object sender, Views.CheckAdviceArgs e)
        {
            DataTable batchData = Model.GetBatchData(e.BeginListDate, e.EndListDate, e.OfficeID, e.IsValidCheck, e.IsAllCheck, e.IsNoCheck, e.IsYesCheck, e.IsTypePTY, e.IsTypeJSY, e.IsTypeDMY, e.IsTypeGCY, e.IsTypeKSS, e.CheckPivasStatus, e.CheckLong, e.CheckTemporary);

            if (batchData == null)
            {
                CJia.Message.Show("没有待审医嘱!");
            }
            else
            {
                int checkSeq = Model.GetCheckSeq();
                using (CJia.Transaction trans = new CJia.Transaction(CJia.DefaultOleDb.DefaultAdapter))
                {
                    //插入审核表
                    this.Model.AddCheck(trans.ID, checkSeq, User.UserId, User.UserNo, User.UserName, User.DeptId, User.DeptName, User.UserId);
                    //明细表中的未审医嘱
                    DataTable noData = Model.GetCheckDetail(e.BeginListDate, e.EndListDate, e.OfficeID, e.IsValidCheck, e.IsAllCheck, e.IsNoCheck, e.IsYesCheck, e.IsTypePTY, e.IsTypeJSY, e.IsTypeDMY, e.IsTypeGCY, e.IsTypeKSS, e.CheckPivasStatus, e.CheckLong, e.CheckTemporary);
                    //明细表中的已审医嘱
                    DataTable yesData = Model.GetYesCheckDetail(e.BeginListDate, e.EndListDate, e.OfficeID, e.IsValidCheck, e.IsAllCheck, e.IsNoCheck, e.IsYesCheck, e.IsTypePTY, e.IsTypeJSY, e.IsTypeDMY, e.IsTypeGCY, e.IsTypeKSS, e.CheckPivasStatus, e.CheckLong, e.CheckTemporary);
                    if (yesData == null && noData == null)//新医嘱,未审核过
                    {
                        //插入审核明细表
                        Models.CheckResult checkResult = Model.BatchAddCheckDetail(trans.ID, checkSeq, 1000102, User.UserId, e.BeginListDate, e.EndListDate, e.OfficeID, e.IsValidCheck, e.IsAllCheck, e.IsNoCheck, e.IsYesCheck, e.IsTypePTY, e.IsTypeJSY, e.IsTypeDMY, e.IsTypeGCY, e.IsTypeKSS, e.CheckPivasStatus, e.CheckLong, e.CheckTemporary);
                        //更新瓶贴基表
                        //List<string> groupIndex = new List<string>();
                        ////DataTable batchData = Model.GetBatchData(e.BeginListDate, e.EndListDate, e.OfficeID);
                        //for(int i = 0; i < batchData.Rows.Count; i++)
                        //{
                        //    groupIndex.Add(batchData.Rows[i]["GROUP_INDEX"].ToString());
                        //}
                        RefreshCommonLabel(trans.ID, checkResult.CheckGroup);
                        this.showMes(checkResult.NoCheckGroup);
                    }
                    else
                    {
                        //DataTable batchData = Model.GetBatchData(e.BeginListDate, e.EndListDate, e.OfficeID);
                        if (batchData != null)
                        {
                            Models.CheckResult checkResult = new Models.CheckResult();
                            for (int i = 0; i < batchData.Rows.Count; i++)
                            {
                                List <string> result = this.Model.QueryPharm(batchData.Rows[i]["GROUP_INDEX"].ToString());
                                if (result != null && result.Count > 0)
                                {
                                    checkResult.NoCheckGroup.Add(new Models.NoCheckGroupPharm()
                                    {
                                        GroupIndex = batchData.Rows[i]["GROUP_INDEX"].ToString(),
                                        pharmList  = result
                                    });
                                }
                                else
                                {
                                    //将之前审核明细置为无效
                                    //int detailId = Model.GetDetailIdByGroupIndex(batchData.Rows[i]["GROUP_INDEX"].ToString());
                                    //Model.ModifyCheckDetailValid(trans.ID, User.UserId, detailId);
                                    this.Model.ModifyCheckDetailGroupIndex(trans.ID, batchData.Rows[i]["GROUP_INDEX"].ToString(), User.UserId);
                                    //插入新的审核明细
                                    Model.AddCheckDetail(trans.ID, checkSeq, batchData.Rows[i]["GROUP_INDEX"].ToString(), 1000101, 1000102, e.OriginalPivasBatchNo, batchData.Rows[i]["CHECK_PIVAS_BATCH_NO"].ToString(), User.UserId, e.CancelReason, e.LongTimeStatus);
                                    //更新瓶贴基表
                                    List <string> groupIndex = new List <string>();
                                    groupIndex.Add(batchData.Rows[i]["GROUP_INDEX"].ToString());
                                    RefreshCommonLabel(trans.ID, groupIndex);
                                    checkResult.CheckGroup.Add(batchData.Rows[i]["GROUP_INDEX"].ToString());
                                }
                            }
                            this.showMes(checkResult.NoCheckGroup);
                        }
                        ////将之前审核明细批量置为无效
                        //Model.ModifyCheckDetail(trans.ID, User.UserId, e.BeginListDate, e.EndListDate, e.OfficeID, groupIndex);
                        ////插入新的审核明细
                        //Model.BatchAddCheckDetail(trans.ID, checkSeq, e.CheckPivasStatus, User.UserId, e.BeginListDate, e.EndListDate, e.OfficeID, batchStr);
                        ////更新瓶贴基表
                        //RefreshCommonLabel(trans.ID, groupIndex);
                    }
                    trans.Complete();
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 单个审方
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void view_OnInsertCheck(object sender, Views.CheckAdviceArgs e)
        {
            int checkSeq = Model.GetCheckSeq();

            using (CJia.Transaction trans = new CJia.Transaction(CJia.DefaultOleDb.DefaultAdapter))
            {
                Models.CheckResult checkResult = new Models.CheckResult();
                //插入审核表
                this.Model.AddCheck(trans.ID, checkSeq, User.UserId, User.UserNo, User.UserName, User.DeptId, User.DeptName, User.UserId);
                //判断是否在明细表
                DataTable data = Model.GetCheckDetailDataByGroupIndex(e.GroupIndex);
                if (data == null)//新医嘱,未审核过
                {
                    List <string> pharmList = this.Model.QueryPharm(e.GroupIndex);
                    if (pharmList != null && pharmList.Count > 0)
                    {
                        checkResult.NoCheckGroup.Add(new Models.NoCheckGroupPharm()
                        {
                            GroupIndex = e.GroupIndex,
                            pharmList  = pharmList
                        });
                    }
                    else
                    {
                        //插入审核明细表
                        Model.AddCheckDetail(trans.ID, checkSeq, e.GroupIndex, e.OriginalPivasStatus, e.CheckPivasStatus, e.OriginalPivasBatchNo, e.CheckPivasBatchNo, User.UserId, e.CancelReason, e.LongTimeStatus);
                        //更新瓶贴基表
                        List <string> groupIndex = new List <string>();
                        groupIndex.Add(e.GroupIndex);
                        RefreshCommonLabel(trans.ID, groupIndex);
                        checkResult.CheckGroup.Add(e.GroupIndex);
                    }
                }
                else
                {
                    List <string> pharmList = this.Model.QueryPharm(e.GroupIndex);
                    if (pharmList != null && pharmList.Count > 0)
                    {
                        checkResult.NoCheckGroup.Add(new Models.NoCheckGroupPharm()
                        {
                            GroupIndex = e.GroupIndex,
                            pharmList  = pharmList
                        });
                    }
                    else
                    {
                        //将之前审核明细置为无效
                        //int detailId = Model.GetDetailIdByGroupIndex(e.GroupIndex);
                        //Model.ModifyCheckDetailValid(trans.ID, User.UserId, detailId);
                        this.Model.ModifyCheckDetailGroupIndex(trans.ID, e.GroupIndex, User.UserId);
                        //插入新的审核明细
                        Model.AddCheckDetail(trans.ID, checkSeq, e.GroupIndex, e.OriginalPivasStatus, e.CheckPivasStatus, e.OriginalPivasBatchNo, e.CheckPivasBatchNo, User.UserId, e.CancelReason, e.LongTimeStatus);
                        //更新瓶贴基表
                        List <string> groupIndex = new List <string>();
                        groupIndex.Add(e.GroupIndex);
                        RefreshCommonLabel(trans.ID, groupIndex);
                        checkResult.CheckGroup.Add(e.GroupIndex);
                    }
                }
                this.showMes(checkResult.NoCheckGroup);
                trans.Complete();
            }
        }