예제 #1
0
        /// <summary>
        /// Add Rejection Details
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public CommonResponse AddRejectionDetails(AddRejection data)
        {
            CommonResponse obj = new CommonResponse();

            try
            {
                CommonFunction commonFunction = new CommonFunction();
                string         shift          = commonFunction.GetCurrentShift();
                addedResopnse  addresopnce    = new addedResopnse();


                string correctedDate = commonFunction.GetCorrectedDate();

                if (data.dmcCodeStatus == "Enable")
                {
                    if (data.actual > 1)
                    {
                        var check = db.UnitworkccsTblrejectiondetails.Where(m => m.QrCodeNo == data.qrCodeNo).FirstOrDefault();
                        if (check == null)
                        {
                            var dbCheck = db.UnitworkccsTblreworkdetails.Where(m => m.QrCodeNo == data.qrCodeNo).FirstOrDefault();
                            if (dbCheck == null)
                            {
                                UnitworkccsTblrejectiondetails UnitworkccsTblrejectiondetails = new UnitworkccsTblrejectiondetails();
                                UnitworkccsTblrejectiondetails.DefectCodeId       = data.defectCodeId;
                                UnitworkccsTblrejectiondetails.DefectQty          = 1;
                                UnitworkccsTblrejectiondetails.MachineId          = data.machineId;
                                UnitworkccsTblrejectiondetails.OperatorId         = data.operatorId;
                                UnitworkccsTblrejectiondetails.IsDeleted          = 0;
                                UnitworkccsTblrejectiondetails.Shift              = shift;
                                UnitworkccsTblrejectiondetails.FgPartId           = data.fgPartId;
                                UnitworkccsTblrejectiondetails.CorrectedDate      = correctedDate;
                                UnitworkccsTblrejectiondetails.CreatedOn          = DateTime.Now;
                                UnitworkccsTblrejectiondetails.QrCodeNo           = data.qrCodeNo;
                                UnitworkccsTblrejectiondetails.DmcCodeStatus      = data.dmcCodeStatus;
                                UnitworkccsTblrejectiondetails.ReasonForRejection = data.reasonForRejection;
                                db.UnitworkccsTblrejectiondetails.Add(UnitworkccsTblrejectiondetails);
                                db.SaveChanges();
                                obj.isStatus = true;
                                // obj.response = ResourceResponse.AddedSuccessMessage;

                                var reLast = db.UnitworkccsTblrejectiondetails.Where(m => m.IsDeleted == 0).LastOrDefault();

                                var fgpartdet = db.UnitworkccsTblfgpartnodet.Where(m => m.FgPartId == data.fgPartId).FirstOrDefault();
                                var cellid    = db.UnitworkccsTblfgandcellallocation.Where(m => m.PartNo == fgpartdet.FgPartNo).FirstOrDefault();

                                var cellname    = db.UnitworkccsTblshop.Where(m => m.ShopId == cellid.CellFinalId).Select(m => m.ShopName).FirstOrDefault();
                                var subcellname = db.UnitworkccsTblcell.Where(m => m.CellId == cellid.SubCellFinalId).Select(m => m.CellName).FirstOrDefault();

                                var defectcode = db.UnitworkccsTbldefectcodemaster.Where(m => m.DefectCodeId == data.defectCodeId).FirstOrDefault();


                                var empno = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == fgpartdet.OperatorId).Select(m => m.OpNo).FirstOrDefault();


                                int?machineid = db.UnitworkccsTblfgpartnodet.Where(m => m.FgPartId == fgpartdet.FgPartId).Select(m => m.MachineId).FirstOrDefault();

                                var machinedet = db.UnitworkccsTblmachinedetails.Where(m => m.MachineId == (int)machineid).FirstOrDefault();

                                var plantcode = db.UnitworkccsTblplant.Where(m => m.PlantId == machinedet.PlantId).Select(m => m.PlantCode).FirstOrDefault();

                                var operatorname = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == fgpartdet.OperatorId).Select(m => m.OperatorName).FirstOrDefault();

                                addresopnce.cellId   = (int)cellid.CellFinalId;
                                addresopnce.cellName = cellname;

                                addresopnce.subCellId   = (int)cellid.SubCellFinalId;
                                addresopnce.subCellName = subcellname;

                                // addresopnce.date = Convert.ToString(fgpartdet.StartDate);

                                DateTime date1 = Convert.ToDateTime(fgpartdet.StartDate);
                                addresopnce.date = date1.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");

                                //  DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK")

                                addresopnce.defectCodeId = data.defectCodeId;

                                addresopnce.defectCode          = defectcode.DefectCodeName;
                                addresopnce.defectDescription   = defectcode.DefectCodeDesc;
                                addresopnce.employeeNo          = (int)empno;
                                addresopnce.fgPartId            = fgpartdet.FgPartId;
                                addresopnce.isRejectionOrRework = "Rejection";
                                addresopnce.machineId           = (int)machineid;
                                string[] machinename = machinedet.MachineName.Split('_');
                                addresopnce.machineName              = machinename[1];
                                addresopnce.operatorId               = (int)fgpartdet.OperatorId;
                                addresopnce.operatorName             = operatorname;
                                addresopnce.partDescription          = fgpartdet.PartName;
                                addresopnce.partId                   = null;
                                addresopnce.partNumber               = fgpartdet.FgPartNo;
                                addresopnce.partQrCode               = data.qrCodeNo;
                                addresopnce.plantId                  = (int)machinedet.PlantId;
                                addresopnce.plantName                = plantcode;
                                addresopnce.quantity                 = (int)reLast.DefectQty;
                                addresopnce.rejectionId              = reLast.RejectionId;
                                addresopnce.reworkId                 = 0;
                                addresopnce.shift                    = fgpartdet.Shift;
                                addresopnce.updatedRejectionOrRework = null;
                                addresopnce.workorderNumber          = fgpartdet.WorkOrderNo;
                                addresopnce.reasonForRejection       = reLast.ReasonForRejection;
                                obj.response = addresopnce;
                            }
                            else
                            {
                                obj.isStatus = false;
                                obj.response = "Qr Code already Added";
                            }
                        }
                        else
                        {
                            obj.isStatus = false;
                            obj.response = "Qr Code already Added";
                        }
                    }
                    else
                    {
                        obj.isStatus = false;
                        obj.response = "Please enter Defect Qty less than Actal value" + data.actual;
                    }
                }
                else
                {
                    if (data.actual > 1)
                    {
                        UnitworkccsTblrejectiondetails UnitworkccsTblrejectiondetails = new UnitworkccsTblrejectiondetails();
                        UnitworkccsTblrejectiondetails.DefectCodeId       = data.defectCodeId;
                        UnitworkccsTblrejectiondetails.DefectQty          = data.defectQty;
                        UnitworkccsTblrejectiondetails.MachineId          = data.machineId;
                        UnitworkccsTblrejectiondetails.OperatorId         = data.operatorId;
                        UnitworkccsTblrejectiondetails.IsDeleted          = 0;
                        UnitworkccsTblrejectiondetails.Shift              = shift;
                        UnitworkccsTblrejectiondetails.FgPartId           = data.fgPartId;
                        UnitworkccsTblrejectiondetails.CorrectedDate      = correctedDate;
                        UnitworkccsTblrejectiondetails.CreatedOn          = DateTime.Now;
                        UnitworkccsTblrejectiondetails.DmcCodeStatus      = data.dmcCodeStatus;
                        UnitworkccsTblrejectiondetails.ReasonForRejection = data.reasonForRejection;
                        db.UnitworkccsTblrejectiondetails.Add(UnitworkccsTblrejectiondetails);
                        db.SaveChanges();
                        obj.isStatus = true;
                        //   obj.response = ResourceResponse.AddedSuccessMessage;

                        var reLast = db.UnitworkccsTblrejectiondetails.Where(m => m.IsDeleted == 0).LastOrDefault();

                        var fgpartdet = db.UnitworkccsTblfgpartnodet.Where(m => m.FgPartId == data.fgPartId).FirstOrDefault();
                        var cellid    = db.UnitworkccsTblfgandcellallocation.Where(m => m.PartNo == fgpartdet.FgPartNo).FirstOrDefault();

                        var cellname    = db.UnitworkccsTblshop.Where(m => m.ShopId == cellid.CellFinalId).Select(m => m.ShopName).FirstOrDefault();
                        var subcellname = db.UnitworkccsTblcell.Where(m => m.CellId == cellid.SubCellFinalId).Select(m => m.CellName).FirstOrDefault();

                        var defectcode = db.UnitworkccsTbldefectcodemaster.Where(m => m.DefectCodeId == data.defectCodeId).FirstOrDefault();


                        var empno = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == fgpartdet.OperatorId).Select(m => m.OpNo).FirstOrDefault();


                        int?machineid = db.UnitworkccsTblfgpartnodet.Where(m => m.FgPartId == fgpartdet.FgPartId).Select(m => m.MachineId).FirstOrDefault();

                        var machinedet = db.UnitworkccsTblmachinedetails.Where(m => m.MachineId == (int)machineid).FirstOrDefault();

                        var plantcode = db.UnitworkccsTblplant.Where(m => m.PlantId == machinedet.PlantId).Select(m => m.PlantCode).FirstOrDefault();

                        var operatorname = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == fgpartdet.OperatorId).Select(m => m.OperatorName).FirstOrDefault();



                        addresopnce.cellId   = (int)cellid.CellFinalId;
                        addresopnce.cellName = cellname;

                        addresopnce.subCellId   = (int)cellid.SubCellFinalId;
                        addresopnce.subCellName = subcellname;
                        // addresopnce.date = Convert.ToString(fgpartdet.StartDate);

                        DateTime date1 = Convert.ToDateTime(fgpartdet.StartDate);
                        addresopnce.date = date1.ToString("yyyy-MM-ddTHH:mm:ss.fffZ");

                        addresopnce.defectCodeId        = data.defectCodeId;
                        addresopnce.defectCode          = defectcode.DefectCodeName;
                        addresopnce.defectDescription   = defectcode.DefectCodeDesc;
                        addresopnce.employeeNo          = (int)empno;
                        addresopnce.fgPartId            = fgpartdet.FgPartId;
                        addresopnce.isRejectionOrRework = "Rejection";
                        addresopnce.machineId           = (int)machineid;
                        string[] machinename = machinedet.MachineName.Split('_');
                        addresopnce.machineName = machinename[1];
                        addresopnce.operatorId  = (int)fgpartdet.OperatorId;

                        addresopnce.operatorName = operatorname;

                        addresopnce.partDescription = fgpartdet.PartName;

                        addresopnce.partId     = null;
                        addresopnce.partNumber = fgpartdet.FgPartNo;

                        addresopnce.partQrCode = data.qrCodeNo;

                        addresopnce.plantId = (int)machinedet.PlantId;

                        addresopnce.plantName   = plantcode;
                        addresopnce.quantity    = (int)reLast.DefectQty;
                        addresopnce.rejectionId = reLast.RejectionId;
                        addresopnce.reworkId    = 0;
                        addresopnce.shift       = fgpartdet.Shift;
                        addresopnce.updatedRejectionOrRework = null;
                        addresopnce.workorderNumber          = fgpartdet.WorkOrderNo;
                        addresopnce.reasonForRejection       = reLast.ReasonForRejection;
                        obj.response = addresopnce;
                    }
                    else
                    {
                        obj.isStatus = false;
                        obj.response = "Please enter Defect Qty less than Actal value" + data.actual;
                    }
                }
            }
            catch (Exception ex)
            {
                obj.isStatus = false;
                obj.response = ResourceResponse.FailureMessage;
            }
            return(obj);
        }
        public async Task <IActionResult> AddRejectionDetails(AddRejection data)
        {
            CommonResponse response = reworkAndRejection.AddRejectionDetails(data);

            return(Ok(response));
        }