Example #1
0
 public ReturnValueInfo UpdateRecord(ProjectQCProblem_pqcp_Info model)
 {
     throw new NotImplementedException();
 }
Example #2
0
 public List<ProjectQCProblem_pqcp_Info> SearchRecord(ProjectQCProblem_pqcp_Info searchInfo)
 {
     throw new NotImplementedException();
 }
Example #3
0
        /// <summary>
        /// 更新QC問題
        /// </summary>
        /// <param name="pqc"></param>
        /// <returns></returns>
        public ReturnValueInfo UpdateQCProblem(ProjectQCProblem_pqcp_Info problem, PrintProject_ppj_Info project, ShiftProjList_spl_Info shiftProject)
        {
            ReturnValueInfo result = new ReturnValueInfo();

            try
            {
                if (problem.pqcp_PQCID == Guid.Empty)
                {
                    result.boolValue = false;
                    result.messageText = "QC問題記錄沒有設置QC記錄ID,不能保存QC問題。";
                    return result;
                }
                if (problem.pqcp_iWasteQty == 0 && problem.pqcp_iDefectiveQty == 0)
                {
                    result.boolValue = false;
                    result.messageText = "QC廢品數量和次品數量不能同時為0。";
                    return result;
                }

                using (DBContext uow = DBContext.Begin())
                {
                    ProjectQCProblem_pqcp_Info pqcp_old = uow.CurrentSession.Get<ProjectQCProblem_pqcp_Info>(problem.pqcp_RecordID);
                    pqcp_old.pqcp_iProblemID = problem.pqcp_iProblemID;
                    pqcp_old.pqcp_iWasteQty = problem.pqcp_iWasteQty;
                    pqcp_old.pqcp_iDefectiveQty = problem.pqcp_iDefectiveQty;
                    pqcp_old.pqcp_dLastDate = DateTime.Now;
                    pqcp_old.pqcp_lSync = false;
                    uow.CurrentSession.Update(pqcp_old);
                    //CountSPLQCInfo(uow, project, shiftProject);
                }

                result.boolValue = true;

            }
            catch (Exception ex)
            {
                result.boolValue = false;
                result.messageText = ex.Message;
            }

            return result;
        }
Example #4
0
        public ReturnValueInfo RemoveQCProblem(ProjectQCProblem_pqcp_Info problem)
        {
            ReturnValueInfo result = new ReturnValueInfo();

            try
            {
                using (DBContext db = DBContext.Begin())
                {
                    ProjectQCRecord_pqc_Info qcRecord = db.CurrentSession.Get<ProjectQCRecord_pqc_Info>(problem.pqcp_PQCID);
                    db.CurrentSession.Clear();
                    if (qcRecord != null)
                    {
                        if (qcRecord.pqc_cMode == CustEnum.RecordMode.AUTO.ToString())
                        {
                            if (problem.pqcp_RecordID == Guid.Empty)
                            {
                                result.boolValue = false;
                                result.messageText = "刪除失敗,不能刪除系統創建的[無問題]抽查記錄。";
                                return result;
                            }
                            db.CurrentSession.Delete(problem);
                        }
                        else if (qcRecord.pqc_cMode == CustEnum.RecordMode.MANUAL.ToString())
                        {
                            if (problem.pqcp_RecordID == Guid.Empty)
                            {
                                IList<ProjectQCRecord_pqc_Info> qcRecords = db.CurrentSession.QueryOver<ProjectQCRecord_pqc_Info>().Where(d => d.pqc_SPLID == problem.ShiftProjectID).OrderBy(d => d.pqc_dAddDate).Desc.Take(1).List();
                                if (qcRecords.Count > 0)
                                {
                                    if (qcRecords[0].pqc_RecordID == problem.pqcp_PQCID)
                                    {
                                        db.CurrentSession.Delete(qcRecords[0]);
                                    }
                                    else
                                    {
                                        result.boolValue = false;
                                        result.messageText = "刪除失敗,只能刪除最後一次品檢記錄。";
                                        return result;
                                    }
                                }
                                else
                                {
                                    result.boolValue = false;
                                    result.messageText = "沒有數據";
                                    return result;
                                }

                            }
                            else
                            {
                                db.CurrentSession.Delete(problem);
                            }

                        }
                    }

                }
                result.boolValue = true;

            }
            catch (Exception ex)
            {
                result.boolValue = false;
                result.messageText = ex.Message;
            }

            return result;
        }
Example #5
0
        /// <summary>
        /// 保存QC問題
        /// </summary>
        /// <param name="pqc"></param>
        /// <returns></returns>
        public ReturnValueInfo AddQCProblem(ProjectQCProblem_pqcp_Info problem, PrintProject_ppj_Info project, ShiftProjList_spl_Info shiftProject)
        {
            ReturnValueInfo result = new ReturnValueInfo();

            try
            {
                if (problem.pqcp_PQCID == Guid.Empty)
                {
                    result.boolValue = false;
                    result.messageText = "QC問題記錄沒有設置QC記錄ID,不能保存QC問題。";
                    return result;
                }
                if (problem.pqcp_iWasteQty == 0 && problem.pqcp_iDefectiveQty == 0)
                {
                    result.boolValue = false;
                    result.messageText = "QC廢品數量和次品數量不能同時為0。";
                    return result;
                }

                using (DBContext uow = DBContext.Begin())
                {
                    problem.pqcp_RecordID = Guid.NewGuid();
                    problem.pqcp_dAddDate = DateTime.Now;
                    problem.pqcp_dLastDate = DateTime.Now;

                    ProjectQCProblem_pqcp_Info pqcp_max = uow.CurrentSession.QueryOver<ProjectQCProblem_pqcp_Info>().And(d => d.pqcp_PQCID == problem.pqcp_PQCID).OrderBy(d => d.pqcp_iSeq).Desc.Take(1).SingleOrDefault();
                    if (pqcp_max != null)
                    {
                        problem.pqcp_iSeq = pqcp_max.pqcp_iSeq + 1;
                    }
                    else
                    {
                        problem.pqcp_iSeq = 1;
                    }
                    uow.CurrentSession.SaveOrUpdate(uow.CurrentSession.Merge(problem));
                    //CountSPLQCInfo(uow, project, shiftProject);
                }

                result.boolValue = true;

            }
            catch (Exception ex)
            {
                result.boolValue = false;
                result.messageText = ex.Message;
            }

            return result;
        }
Example #6
0
 public Model.General.ReturnValueInfo UpdateRecord(ProjectQCProblem_pqcp_Info infoObject)
 {
     throw new NotImplementedException();
 }